diff --git a/agon/__init__.py b/agon/__init__.py new file mode 100644 index 0000000..5c8ea1a --- /dev/null +++ b/agon/__init__.py @@ -0,0 +1 @@ +"""Empty init file for off_cooldown_bot module.""" diff --git a/agon/__main__.py b/agon/__main__.py new file mode 100644 index 0000000..467559b --- /dev/null +++ b/agon/__main__.py @@ -0,0 +1,14 @@ +"""Starts the app for agon.""" + +import logging + +from .app import run + +nextcord_logger = logging.getLogger("nextcord") +nextcord_logger.setLevel(logging.DEBUG) +nextcord_handler = logging.FileHandler(filename="nextcord.log", encoding="utf-8", mode="w") +nextcord_handler.setFormatter(logging.Formatter("%(asctime)s:%(levelname)s:%(name)s: %(message)s")) +nextcord_logger.addHandler(nextcord_handler) + +if __name__ == "__main__": + run() diff --git a/agon/main.py b/agon/app.py similarity index 68% rename from agon/main.py rename to agon/app.py index 4dcb589..7590ddf 100644 --- a/agon/main.py +++ b/agon/app.py @@ -1,23 +1,15 @@ """Main file for Agon bot.""" -import logging -import os +import pathlib import sys import nextcord from nextcord.ext import commands - from utilities import config from utilities.logger import agon_logger -nextcord_logger = logging.getLogger("nextcord") -nextcord_logger.setLevel(logging.DEBUG) -nextcord_handler = logging.FileHandler(filename="nextcord.log", encoding="utf-8", mode="w") -nextcord_handler.setFormatter(logging.Formatter("%(asctime)s:%(levelname)s:%(name)s: %(message)s")) -nextcord_logger.addHandler(nextcord_handler) - -def main() -> None: +def run() -> None: """Main function for bot.""" min_python_version = (3, 12) if sys.version_info < min_python_version: @@ -34,8 +26,8 @@ def main() -> None: ) # Get the modules of all cogs whose directory structure is ./cogs/ - for folder in os.listdir("cogs"): - bot.load_extension(f"cogs.{folder}") + for folder in pathlib.Path("./agon/cogs").iterdir(): + bot.load_extension(f"agon.cogs.{folder.name}") @bot.listen() async def on_ready() -> None: @@ -47,7 +39,3 @@ def main() -> None: # Run Discord bot bot.run(config.DISCORD_TOKEN) - - -if __name__ == "__main__": - main() diff --git a/agon/cogs/commands/submission.py b/agon/cogs/commands/submission.py index ad53caa..cc7d2fc 100644 --- a/agon/cogs/commands/submission.py +++ b/agon/cogs/commands/submission.py @@ -3,17 +3,17 @@ import re import nextcord +from cogs.submission.verification_view import VerificationView +from database.db import engine +from database.models import Category, CategoryGroup, Guild, Submission from nextcord.ext import commands from sqlalchemy import select from sqlalchemy.orm import Session from sqlmodel import col - -from cogs.submission.verification_view import VerificationView -from database.db import engine -from database.models import Category, CategoryGroup, Guild, Submission -from main import agon_logger from utilities.utils import autofill_categories, autofill_groups, submit_score +from agon.app import agon_logger + class SubmissionCog(commands.Cog): """Class holds command for submitting a score.""" diff --git a/agon/utilities/utils.py b/agon/utilities/utils.py index caaecc1..72dc99f 100644 --- a/agon/utilities/utils.py +++ b/agon/utilities/utils.py @@ -4,13 +4,13 @@ import time import nextcord import pandas as pd +from database.db import engine +from database.models import Category, CategoryGroup, Guild, Score from sqlalchemy import distinct, select from sqlalchemy.orm import Session, aliased from sqlmodel import col -from database.db import engine -from database.models import Category, CategoryGroup, Guild, Score -from main import agon_logger +from agon.app import agon_logger MAX_LINE_LENGTH = 142