mirror of
https://github.com/Paillat-dev/Botator.git
synced 2026-01-02 09:16:19 +00:00
Added query limits of 200 / 24h
This commit is contained in:
20
code/code.py
20
code/code.py
@@ -3,6 +3,7 @@ import discord # pip install pycord
|
|||||||
from discord import File, Intents # pip install pycord
|
from discord import File, Intents # pip install pycord
|
||||||
import logging # pip install logging
|
import logging # pip install logging
|
||||||
import sqlite3 # pip install sqlite3
|
import sqlite3 # pip install sqlite3
|
||||||
|
import asyncio # pip install asyncio
|
||||||
#set the debug mode to the maximum
|
#set the debug mode to the maximum
|
||||||
logging.basicConfig(level=logging.INFO)
|
logging.basicConfig(level=logging.INFO)
|
||||||
def debug(message):
|
def debug(message):
|
||||||
@@ -13,7 +14,7 @@ conn = sqlite3.connect('data.db')
|
|||||||
c = conn.cursor()
|
c = conn.cursor()
|
||||||
|
|
||||||
# Create table called "data" if it does not exist with the following columns: guild_id, channel_id, api_key, is_active, max_tokens, temperature, frequency_penalty, presence_penalty, uses_count_today, prompt_size
|
# Create table called "data" if it does not exist with the following columns: guild_id, channel_id, api_key, is_active, max_tokens, temperature, frequency_penalty, presence_penalty, uses_count_today, prompt_size
|
||||||
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)''')
|
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)''')
|
||||||
Intents =discord.Intents.all() # enable all intents
|
Intents =discord.Intents.all() # enable all intents
|
||||||
Intents.members = True
|
Intents.members = True
|
||||||
bot = discord.Bot(intents=Intents.all())
|
bot = discord.Bot(intents=Intents.all())
|
||||||
@@ -132,7 +133,12 @@ async def on_message(message):
|
|||||||
c.execute("SELECT channel_id FROM data WHERE guild_id = ?", (message.guild.id,))
|
c.execute("SELECT channel_id FROM data WHERE guild_id = ?", (message.guild.id,))
|
||||||
if str(message.channel.id) != str(c.fetchone()[0]):
|
if str(message.channel.id) != str(c.fetchone()[0]):
|
||||||
return
|
return
|
||||||
|
#check if the bot hasn't been used more than 200 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] >= 200:
|
||||||
|
return
|
||||||
|
#add 1 to the uses_count_today
|
||||||
|
c.execute("UPDATE data SET uses_count_today = uses_count_today + 1 WHERE guild_id = ?", (message.guild.id,))
|
||||||
#get the api key from the database
|
#get the api key from the database
|
||||||
c.execute("SELECT api_key FROM data WHERE guild_id = ?", (message.guild.id,))
|
c.execute("SELECT api_key FROM data WHERE guild_id = ?", (message.guild.id,))
|
||||||
api_key = c.fetchone()[0]
|
api_key = c.fetchone()[0]
|
||||||
@@ -182,6 +188,16 @@ async def clear(ctx):
|
|||||||
await ctx.respond("messages deleted!", ephemeral=True)
|
await ctx.respond("messages deleted!", ephemeral=True)
|
||||||
return await ctx.channel.purge()
|
return await ctx.channel.purge()
|
||||||
|
|
||||||
|
#at the end of the day reset the uses_count_today to 0 for all the guilds
|
||||||
|
async def reset_uses_count_today():
|
||||||
|
await bot.wait_until_ready()
|
||||||
|
while not bot.is_closed():
|
||||||
|
c.execute("UPDATE data SET uses_count_today = 0")
|
||||||
|
conn.commit()
|
||||||
|
await asyncio.sleep(86400)
|
||||||
|
# on startup run the reset_uses_count_today function
|
||||||
|
bot.loop.create_task(reset_uses_count_today())
|
||||||
|
|
||||||
#run the bot
|
#run the bot
|
||||||
# Replace the following with your bot's token
|
# Replace the following with your bot's token
|
||||||
bot.run("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
|
bot.run("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
|
||||||
|
|||||||
Reference in New Issue
Block a user