major-domo-v2/commands/spoiler/__init__.py

55 lines
1.4 KiB
Python

"""
Spoiler Commands Package
This package contains the spoiler listener that watches for Discord spoiler tags
and posts "Deez Watch!" alerts.
"""
import logging
from discord.ext import commands
from .listener import SpoilerListener
logger = logging.getLogger(__name__)
async def setup_spoiler(bot: commands.Bot):
"""
Setup spoiler listener module.
Returns:
tuple: (successful_count, failed_count, failed_modules)
"""
# Define spoiler cogs to load
spoiler_cogs = [
("SpoilerListener", SpoilerListener),
]
successful = 0
failed = 0
failed_modules = []
for cog_name, cog_class in spoiler_cogs:
try:
await bot.add_cog(cog_class(bot))
logger.info(f"✅ Loaded {cog_name}")
successful += 1
except Exception as e:
logger.error(f"❌ Failed to load {cog_name}: {e}", exc_info=True)
failed += 1
failed_modules.append(cog_name)
# Log summary
if failed == 0:
logger.info(f"🎉 All {successful} spoiler module(s) loaded successfully")
else:
logger.warning(
f"⚠️ Spoiler modules loaded with issues: "
f"{successful} successful, {failed} failed"
)
return successful, failed, failed_modules
# Export the setup function for easy importing
__all__ = ['setup_spoiler', 'SpoilerListener']