From c9f6a4c55d59a5b56f2a675cb5c9ab27c86da8df Mon Sep 17 00:00:00 2001 From: DefsNotQuack Date: Sat, 29 Mar 2025 11:26:07 +1000 Subject: [PATCH] Initial commit. --- main.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/main.py b/main.py index 72abd27..056b067 100644 --- a/main.py +++ b/main.py @@ -2,7 +2,11 @@ import os import discord import asyncio from dotenv import load_dotenv + +import signal from pathlib import Path + +from pipenv.patched.safety.safety import session from rich.console import Console from rich.progress import track from rich.panel import Panel @@ -53,6 +57,17 @@ async def load_cogs(): console.log(f"[red]✖ Failed to load:[/] Cog - {cog}") console.log(f"[red]{type(e).__name__}: {e}[/]") + +# Bot Shutdown handling +async def shutdown(): + console.log("[red]🔴 Shutting down...[/red]") + await bot.close() + +def handle_signals(): + for sig in (signal.SIGINT, signal.SIGTERM): + signal.signal(sig, lambda s, f: asyncio.create_task(shutdown())) + + # Bot Event Handlers @bot.event async def on_ready(): @@ -61,6 +76,7 @@ async def on_ready(): console.log("[blue]🔁 Synced slash commands[/blue]") console.rule(f"[bold green]✅ Bot Ready — Logged in as {bot.user}[/]") console.print(f"ID: {bot.user.id}") + handle_signals() # Main Loop if __name__ == "__main__":