From 02fa32cb1cd0718cd109f7fde6f4a9cb6a0ee9aa Mon Sep 17 00:00:00 2001 From: phixxy Date: Wed, 14 Feb 2024 00:59:05 -0800 Subject: [PATCH] Added base cog to inherit from --- .gitignore | 3 ++- cogs/base_cog/__init__.py | 0 cogs/base_cog/bot_base_cog.py | 28 ++++++++++++++++++++++++++++ cogs/meme.py | 22 ++++------------------ 4 files changed, 34 insertions(+), 19 deletions(-) create mode 100644 cogs/base_cog/__init__.py create mode 100644 cogs/base_cog/bot_base_cog.py diff --git a/.gitignore b/.gitignore index 49d5a3b..946a1bb 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ cogs/__pycache__/ data/ logs/ src/__pycache__/ -tmp/ \ No newline at end of file +tmp/ +cogs/base_cog/__pycache__/ \ No newline at end of file diff --git a/cogs/base_cog/__init__.py b/cogs/base_cog/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cogs/base_cog/bot_base_cog.py b/cogs/base_cog/bot_base_cog.py new file mode 100644 index 0000000..3e15e36 --- /dev/null +++ b/cogs/base_cog/bot_base_cog.py @@ -0,0 +1,28 @@ +import os +import aiohttp +from discord.ext import commands +import logging + +class BotBaseCog(commands.Cog): + def __init__(self, bot): + self.bot = bot + self.class_name = __name__ + self.working_dir = f"tmp/{self.class_name}" + self.data_dir = f"data/{self.class_name}" + self.folder_setup() + + self.http_session = self.create_aiohttp_session() + self.logger = logging.getLogger("bot") + + + def create_aiohttp_session(self): + return aiohttp.ClientSession() + + def folder_setup(self) -> None: + try: + if not os.path.exists(self.working_dir): + os.mkdir(self.working_dir) + if not os.path.exists(self.data_dir): + os.mkdir(self.data_dir) + except: + self.logger.exception(f"{self.class_name} failed to make directories") \ No newline at end of file diff --git a/cogs/meme.py b/cogs/meme.py index e1557a1..168c910 100644 --- a/cogs/meme.py +++ b/cogs/meme.py @@ -1,28 +1,14 @@ #plugin for sparkytron3000 import os import random -import aiohttp from discord.ext import commands -import logging +from cogs.base_cog.bot_base_cog import BotBaseCog -class Meme(commands.Cog): + +class Meme(BotBaseCog): def __init__(self, bot): - self.bot = bot - self.working_dir = "tmp/meme/" - self.folder_setup() - self.http_session = self.create_aiohttp_session() - self.logger = logging.getLogger("bot") - - def create_aiohttp_session(self): - return aiohttp.ClientSession() - - def folder_setup(self): - try: - if not os.path.exists(self.working_dir): - os.mkdir(self.working_dir) - except: - self.logger.exception("Meme failed to make directories") + super().__init__(bot) async def answer_question(self, topic, model="gpt-3.5-turbo"): headers = {