Files
Pac-cogs/videoarchiver/__init__.py

31 lines
1.1 KiB
Python

"""VideoArchiver cog for Red-DiscordBot"""
from redbot.core.bot import Red
from .video_archiver import VideoArchiver
async def setup(bot: Red) -> None:
"""Load VideoArchiver."""
cog = VideoArchiver(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 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)}")