diff --git a/src/cogs/chat.py b/src/cogs/chat.py index 36b8af4..6b69064 100644 --- a/src/cogs/chat.py +++ b/src/cogs/chat.py @@ -4,9 +4,12 @@ from src.config import ( debug, webhook_url, ) +import asyncio import src.makeprompt as mp import aiohttp +from src.utils import banusr + class MyModal(discord.ui.Modal): def __init__(self, message): @@ -95,6 +98,21 @@ class Chat(discord.Cog): @discord.Cog.listener() async def on_message(self, message: discord.Message): + if await self.bot.is_owner(message.author): + if message.content.startswith("botator!ban"): + user2ban = message.content.split(" ")[1] + await banusr.banuser(user2ban) + await message.channel.send(f"User {user2ban} banned !") + return + if message.content.startswith("botator!unban"): + user2ban = message.content.split(" ")[1] + await banusr.unbanuser(user2ban) + await message.channel.send(f"User {user2ban} unbanned !") + return + if str(message.author.id) in banusr.banend_users: + await asyncio.sleep(2) + await message.channel.send(message.content) + return await mp.chat_process(self, message) @discord.slash_command(name="say", description="Say a message") diff --git a/src/utils/banusr.py b/src/utils/banusr.py new file mode 100644 index 0000000..cd82f49 --- /dev/null +++ b/src/utils/banusr.py @@ -0,0 +1,22 @@ +import os +import orjson + +banend_users_path = "./database/banend_users.json" +if not os.path.exists(banend_users_path): + with open(banend_users_path, "w", encoding="utf-8") as file: + file.write("[]") + +with open("./database/banend_users.json", "r", encoding="utf-8") as file: + banend_users = orjson.loads(file.read()) + + +async def banuser(id): + banend_users.append(id) + with open("./database/banend_users.json", "w", encoding="utf-8") as file: + file.write(orjson.dumps(banend_users).decode()) + + +async def unbanuser(id): + banend_users.remove(id) + with open("./database/banend_users.json", "w", encoding="utf-8") as file: + file.write(orjson.dumps(banend_users).decode())