Files
Syntrel/utils/signal.py
neoarz 4948d2edf7 refactor(bot): bot utilities into separate modules
Moved logging, signal handling, and uptime calculation logic from bot.py into dedicated utils modules for better organization and reusability. Updated imports and usage in bot.py and utils/__init__.py accordingly.
2025-09-28 16:20:28 -04:00

14 lines
420 B
Python

import asyncio
import signal
def setup_signal_handlers(bot):
def signal_handler(signum, frame):
bot.logger.info("Shutdown requested. Closing bot...")
if bot.loop and not bot.loop.is_closed():
asyncio.create_task(bot.close())
bot.loop.call_soon_threadsafe(bot.loop.stop)
signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)