Convert to be more consistant like python package.
build_develop / build (push) Successful in 20s

This commit is contained in:
2025-03-18 22:43:20 -04:00
parent bfef75870f
commit 565ea73792
8 changed files with 33 additions and 29 deletions
+1 -2
View File
@@ -8,9 +8,8 @@
"name": "Python: Module",
"type": "debugpy",
"request": "launch",
"module": "main",
"module": "off_cooldown_bot",
"justMyCode": true,
"cwd": "${workspaceFolder}/off_cooldown_bot"
}
]
}
+1 -1
View File
@@ -9,4 +9,4 @@ COPY . /home
WORKDIR /home
RUN uv sync --frozen --no-dev
CMD ["uv", "--directory", "./off_cooldown_bot", "run", "main.py"]
CMD ["uv", "run", "python", "-m", "off_cooldown_bot"]
+14
View File
@@ -0,0 +1,14 @@
"""Starts the app for off_cooldown_bot."""
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()
@@ -2,24 +2,18 @@
from __future__ import annotations
import logging
import pathlib
import nextcord
from logger import ocd_logger
from nextcord.ext import commands
from settings import settings
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)
from .logger import ocd_logger
from .settings import settings
birthday_list: list[int] = []
def main() -> None:
def run() -> None:
"""Set config, intents, then connects the bot to discord."""
# Allows privileged intents for monitoring members joining, roles editing, and role assignments
# These need to be enabled in the developer portal as well
@@ -37,8 +31,8 @@ def main() -> None:
bot = commands.Bot(intents=intents)
# Get the modules of all cogs whose directory structure is ./cogs/<module_name>
for folder in pathlib.Path("cogs").iterdir():
bot.load_extension(f"cogs.{folder.name}")
for folder in pathlib.Path("./off_cooldown_bot/cogs").iterdir():
bot.load_extension(f"off_cooldown_bot.cogs.{folder.name}")
@bot.listen()
async def on_ready() -> None:
@@ -50,7 +44,3 @@ def main() -> None:
# Run Discord bot
bot.run(settings.params.discord_token)
if __name__ == "__main__":
main()
+3 -3
View File
@@ -3,13 +3,13 @@
from datetime import datetime
import nextcord
from main import birthday_list
from nextcord.ext import commands
from pytz import UTC
from sqlmodel import Session, col, select
from database.db import engine
from database.models import UserBirthday
from off_cooldown_bot.app import birthday_list
from off_cooldown_bot.database.db import engine
from off_cooldown_bot.database.models import UserBirthday
class BirthdayCog(commands.Cog, name="Birthday Commands"):
+5 -5
View File
@@ -3,17 +3,17 @@
from datetime import UTC, datetime, time
import nextcord
from logger import ocd_logger
from main import birthday_list
from nextcord.ext import commands, tasks
from pytz import timezone
from settings import settings
from sqlalchemy import select
from sqlalchemy.orm import Session
from sqlmodel import col
from database.db import engine
from database.models import UserBirthday
from off_cooldown_bot.app import birthday_list
from off_cooldown_bot.database.db import engine
from off_cooldown_bot.database.models import UserBirthday
from off_cooldown_bot.logger import ocd_logger
from off_cooldown_bot.settings import settings
class DailyLoop(commands.Cog, name="Daily Loop"):
@@ -1,9 +1,10 @@
"""Defines cog for on message listener."""
import nextcord
from main import birthday_list
from nextcord.ext import commands
from off_cooldown_bot.app import birthday_list
class SubmissionListener(commands.Cog, name="Message Listener"):
"""Sets up message listener."""
+1 -1
View File
@@ -4,7 +4,7 @@ from sqlmodel import SQLModel, create_engine
from . import models # noqa: F401 - Need this import for creating the models.
url = "sqlite:///database.db"
url = "sqlite:///database/database.db"
engine = create_engine(url)
SQLModel.metadata.create_all(engine)