Merge pull request #18 from Paillat-dev/main

n
This commit is contained in:
Paillat
2022-12-10 23:57:49 +01:00
committed by GitHub
3 changed files with 34 additions and 3 deletions

View File

@@ -2,7 +2,7 @@ import discord
import re
import asyncio
import openai
from config import debug, c, max_uses, cp
from config import debug, c, max_uses, cp, conn, connp
import random
class Chat (discord.Cog) :
def __init__(self, bot: discord.Bot):
@@ -39,15 +39,19 @@ class Chat (discord.Cog) :
return
#check if the bot hasn't been used more than 5000 times in the last 24 hours (uses_count_today)
c.execute("SELECT uses_count_today FROM data WHERE guild_id = ?", (message.guild.id,))
if c.fetchone()[0] >= 500:
uses = c.fetchone()[0]
cp.execute("SELECT premium FROM data WHERE user_id = ? AND guild_id = ?", (message.author.id, message.guild.id))
premium = cp.fetchone()
if c.fetchone()[0] >= 500 and premium != 1:
debug(f"The bot has been used more than {max_uses} times in the last 24 hours in this guild. Please try again in 24h.")
await message.channel.send("The bot has been used more than 5000 times in the last 24 hours in this guild. Please try again in 24h.")
await message.channel.send("The bot has been used more than 500 times in the last 24 hours in this guild. Please try again in 24h.")
return
#add 1 to the uses_count_today
#show that the bot is typing
await message.channel.trigger_typing()
if message.guild.id != 1021872219888033903:
c.execute("UPDATE data SET uses_count_today = uses_count_today + 1 WHERE guild_id = ?", (message.guild.id,))
conn.commit()
#get the api key from the database
c.execute("SELECT api_key FROM data WHERE guild_id = ?", (message.guild.id,))
api_key = c.fetchone()[0]

10
code/resetter.py Normal file
View File

@@ -0,0 +1,10 @@
import sqlite3
conn = sqlite3.connect('../database/data.db')
c = conn.cursor()
import time
#the database is: c.execute('''CREATE TABLE IF NOT EXISTS data (guild_id text, channel_id text, api_key text, is_active boolean, max_tokens integer, temperature real, frequency_penalty real, presence_penalty real, uses_count_today integer, prompt_size integer, prompt_prefix text, tts boolean, pretend_to_be text, pretend_enabled boolean)''')
#set the uses_count_today to 0 for all guilds every 24 hours
while True:
c.execute("UPDATE data SET uses_count_today = 0")
conn.commit()
time.sleep(86400)

View File

@@ -0,0 +1,17 @@
# For more information, please refer to https://aka.ms/vscode-docker-python
FROM python:3.10.0
# Keeps Python from generating .pyc files in the container
# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1
# Install pip requirements
RUN git clone https://github.com/Paillat-dev/Botator.git
WORKDIR /Botator/code/
# Creates a non-root user with an explicit UID and adds permission to access the /app folder
RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /Botator/code
USER appuser
CMD ["python", "resetter.py"]