Archived
generated from imcompiling/discord-bot-template
Compare commits
17
Commits
54a011337a
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb5889f7ae | ||
|
|
3c489c83e2 | ||
|
|
aeb00a107f | ||
|
|
c65acb094a | ||
|
|
631c42ac0b | ||
|
|
7811abc33e | ||
|
|
2a01cf09ec | ||
|
|
6d9325c354 | ||
|
|
865802eeeb | ||
|
|
8fce10d9be | ||
|
|
5c6fa4386e | ||
|
|
590cb9abe4 | ||
|
|
46f518c1c4 | ||
|
|
30ecdab8a5 | ||
|
|
565ea73792 | ||
|
|
bfef75870f | ||
|
|
56289e7038 |
@@ -13,7 +13,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Install Docker
|
||||
|
||||
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Install Docker
|
||||
|
||||
@@ -23,8 +23,6 @@ jobs:
|
||||
- name: Set env
|
||||
run: echo "GIT_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||
- name: Build Docker Images
|
||||
run: docker build -t gitea.cheezers.org/imcompiling/off-cooldown-bot:latest -t gitea.cheezers.org/imcompiling/off-cooldown-bot:${{env.GIT_TAG}} .
|
||||
- name: Push Latest Image
|
||||
run: docker push gitea.cheezers.org/imcompiling/off-cooldown-bot:latest
|
||||
run: docker build -t gitea.cheezers.org/imcompiling/off-cooldown-bot:${{env.GIT_TAG}} .
|
||||
- name: Push Tagged Image
|
||||
run: docker push gitea.cheezers.org/imcompiling/off-cooldown-bot:${{env.GIT_TAG}}
|
||||
+1
-1
@@ -129,4 +129,4 @@ dmypy.json
|
||||
nextcord.log
|
||||
outputs/
|
||||
|
||||
database.db
|
||||
/database
|
||||
|
||||
Vendored
+1
-2
@@ -8,9 +8,8 @@
|
||||
"name": "Python: Module",
|
||||
"type": "debugpy",
|
||||
"request": "launch",
|
||||
"module": "main",
|
||||
"module": "off_cooldown_bot",
|
||||
"justMyCode": true,
|
||||
"cwd": "${workspaceFolder}/off_cooldown_bot"
|
||||
}
|
||||
]
|
||||
}
|
||||
+5
-5
@@ -1,12 +1,12 @@
|
||||
FROM python:3.12.3-slim
|
||||
FROM python:3.13.3-slim
|
||||
|
||||
# install uv
|
||||
COPY --from=ghcr.io/astral-sh/uv:0.6.5 /uv /uvx /bin/
|
||||
COPY --from=ghcr.io/astral-sh/uv:0.6.17 /uv /uvx /bin/
|
||||
|
||||
COPY . /off_cooldown_bot
|
||||
COPY . /home
|
||||
|
||||
# Sync the project into a new environment, using the frozen lockfile
|
||||
WORKDIR /off_cooldown_bot
|
||||
WORKDIR /home
|
||||
RUN uv sync --frozen --no-dev
|
||||
|
||||
CMD ["uv", "run", "./off_cooldown_bot/main.py"]
|
||||
CMD ["uv", "run", "--frozen", "--no-dev", "-m", "off_cooldown_bot"]
|
||||
|
||||
@@ -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,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"):
|
||||
|
||||
@@ -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."""
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user