mirror of
https://github.com/pacnpal/Pac-cogs.git
synced 2025-12-20 10:51:05 -05:00
fix: Add error handling to all cogs' initialization - Add proper logging - Add teardown functions - Add cleanup on failure
This commit is contained in:
@@ -1,13 +1,31 @@
|
|||||||
"""Birthday cog for Red-DiscordBot"""
|
"""Birthday cog for Red-DiscordBot"""
|
||||||
from redbot.core.bot import Red
|
from redbot.core.bot import Red
|
||||||
|
import logging
|
||||||
from .birthday import Birthday
|
from .birthday import Birthday
|
||||||
|
|
||||||
|
logger = logging.getLogger("Birthday")
|
||||||
|
|
||||||
async def setup(bot: Red) -> None:
|
async def setup(bot: Red) -> None:
|
||||||
"""Load Birthday cog."""
|
"""Load Birthday cog."""
|
||||||
cog = Birthday(bot)
|
try:
|
||||||
await bot.add_cog(cog)
|
cog = Birthday(bot)
|
||||||
|
await bot.add_cog(cog)
|
||||||
|
# Initialize scheduled tasks
|
||||||
|
try:
|
||||||
|
await cog.reload_scheduled_tasks()
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Failed to initialize scheduled tasks: {str(e)}")
|
||||||
|
await bot.remove_cog(cog.__class__.__name__)
|
||||||
|
raise
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Failed to load Birthday cog: {str(e)}")
|
||||||
|
raise
|
||||||
|
|
||||||
async def teardown(bot: Red) -> None:
|
async def teardown(bot: Red) -> None:
|
||||||
"""Clean up when unloading."""
|
"""Clean up when unloading."""
|
||||||
# Let Red handle command cleanup
|
try:
|
||||||
pass
|
if "Birthday" in bot.cogs:
|
||||||
|
await bot.remove_cog("Birthday")
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Error during teardown: {str(e)}")
|
||||||
|
raise
|
||||||
|
|||||||
@@ -1,13 +1,24 @@
|
|||||||
"""Overseerr cog for Red-DiscordBot"""
|
"""Overseerr cog for Red-DiscordBot"""
|
||||||
from redbot.core.bot import Red
|
from redbot.core.bot import Red
|
||||||
|
import logging
|
||||||
from .overseerr import Overseerr
|
from .overseerr import Overseerr
|
||||||
|
|
||||||
|
logger = logging.getLogger("Overseerr")
|
||||||
|
|
||||||
async def setup(bot: Red) -> None:
|
async def setup(bot: Red) -> None:
|
||||||
"""Load Overseerr cog."""
|
"""Load Overseerr cog."""
|
||||||
cog = Overseerr(bot)
|
try:
|
||||||
await bot.add_cog(cog)
|
cog = Overseerr(bot)
|
||||||
|
await bot.add_cog(cog)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Failed to load Overseerr cog: {str(e)}")
|
||||||
|
raise
|
||||||
|
|
||||||
async def teardown(bot: Red) -> None:
|
async def teardown(bot: Red) -> None:
|
||||||
"""Clean up when unloading."""
|
"""Clean up when unloading."""
|
||||||
# Let Red handle command cleanup
|
try:
|
||||||
pass
|
if "Overseerr" in bot.cogs:
|
||||||
|
await bot.remove_cog("Overseerr")
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Error during teardown: {str(e)}")
|
||||||
|
raise
|
||||||
|
|||||||
Reference in New Issue
Block a user