mirror of
https://github.com/pacnpal/Pac-cogs.git
synced 2025-12-20 02:41:06 -05:00
fix: Add proper command registration and cleanup to all cogs - Add command syncing after cog load - Add teardown functions - Add error handling for sync operations
This commit is contained in:
@@ -1,7 +1,30 @@
|
||||
"""Overseerr cog for Red-DiscordBot"""
|
||||
from redbot.core.bot import Red
|
||||
from .overseerr import Overseerr
|
||||
|
||||
__red_end_user_data_statement__ = "This allows users to make requests to Overseerr and Admins can approve them."
|
||||
async def setup(bot: Red) -> None:
|
||||
"""Load Overseerr cog."""
|
||||
cog = Overseerr(bot)
|
||||
# Add cog first
|
||||
await bot.add_cog(cog)
|
||||
# Then sync commands after cog is loaded
|
||||
if hasattr(bot, "tree"):
|
||||
try:
|
||||
# Only sync guild commands to avoid rate limits
|
||||
await bot.tree.sync(guild=None)
|
||||
except Exception as e:
|
||||
# Log error but don't fail cog load
|
||||
bot.log.error(f"Failed to sync commands: {str(e)}")
|
||||
|
||||
|
||||
async def setup(bot):
|
||||
await bot.add_cog(Overseerr(bot))
|
||||
async def teardown(bot: Red) -> None:
|
||||
"""Clean up when unloading."""
|
||||
if hasattr(bot, "tree"):
|
||||
try:
|
||||
# Remove all commands from this cog
|
||||
for command in bot.tree.get_commands():
|
||||
bot.tree.remove_command(command.name)
|
||||
# Sync to remove commands from Discord
|
||||
await bot.tree.sync(guild=None)
|
||||
except Exception as e:
|
||||
# Log error but don't fail cog unload
|
||||
bot.log.error(f"Failed to cleanup commands: {str(e)}")
|
||||
|
||||
Reference in New Issue
Block a user