major-domo-v2/commands/utilities/__init__.py
Cal Corum 7aa454f619 CLAUDE: Reorganize data storage and enhance team/roster displays
Standardize data file locations to data/ directory and improve command organization with better UI for team rosters, pagination for team lists, and refactored chart commands into logical command groups.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-15 19:05:51 -05:00

64 lines
1.8 KiB
Python

"""
Utility commands package for Discord Bot v2.0
This package contains general utility commands that enhance user experience.
"""
import logging
from discord.ext import commands
from .weather import WeatherCommands
from .charts import ChartCommands, ChartManageGroup, ChartCategoryGroup
__all__ = ['WeatherCommands', 'ChartCommands', 'ChartManageGroup', 'ChartCategoryGroup', 'setup_utilities']
logger = logging.getLogger(__name__)
async def setup_utilities(bot: commands.Bot) -> tuple[int, int, list[str]]:
"""
Setup function for utilities commands.
Args:
bot: The Discord bot instance
Returns:
Tuple of (successful_count, failed_count, failed_module_names)
"""
successful = 0
failed = 0
failed_modules = []
# Cogs that need bot instance
cog_classes = [
WeatherCommands,
ChartCommands,
]
for cog_class in cog_classes:
try:
await bot.add_cog(cog_class(bot))
logger.info(f"Loaded cog: {cog_class.__name__}")
successful += 1
except Exception as e:
logger.error(f"Failed to load cog {cog_class.__name__}: {e}", exc_info=True)
failed += 1
failed_modules.append(cog_class.__name__)
# Command groups (added directly to command tree)
command_groups = [
ChartManageGroup,
ChartCategoryGroup,
]
for group_class in command_groups:
try:
bot.tree.add_command(group_class())
logger.info(f"Loaded command group: {group_class.__name__}")
successful += 1
except Exception as e:
logger.error(f"Failed to load command group {group_class.__name__}: {e}", exc_info=True)
failed += 1
failed_modules.append(group_class.__name__)
return successful, failed, failed_modules