major-domo-v2/utils
Cal Corum 0c001b6dab Fix @requires_team decorator API error handling
The @requires_team() decorator was incorrectly treating API errors as "no team"
because get_user_team() was catching all exceptions and returning None.

Changes:
1. get_user_team() now propagates exceptions instead of catching them
   - Allows callers to distinguish between "no team found" vs "API error"
   - Updated docstring to document the exception behavior

2. @requires_team() decorator now has try-except block
   - Returns specific error for "no team" (None result)
   - Returns helpful error for API/network issues (exception caught)
   - Logs exceptions for debugging

3. league_admin_only() decorator enhanced
   - Now supports both slash commands (Interaction) and prefix commands (Context)
   - Unified error handling for both command types

4. team_service.py and related updates
   - Team model field name corrected: team_abbrev -> abbrev

This fixes the regression where /cc-create was failing with "no team" error
when it should have been showing an API error message or working correctly.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 09:31:14 -06:00
..
__init__.py CLAUDE: Initial commit for discord-app-v2 rebuild 2025-08-15 00:04:50 -05:00
autocomplete.py CLAUDE: Refine injury roll display and cleanup imports 2025-10-16 22:20:13 -05:00
cache.py CLAUDE: Fix type annotations in CacheManager for JSON-serializable types 2025-10-14 00:22:01 -05:00
CLAUDE.md CLAUDE: Refactor dice rolling into reusable utility module and add /d20 command 2025-10-29 01:15:11 -05:00
decorators.py CLAUDE: Add draft period restriction to interactive draft commands 2025-10-25 20:29:16 -05:00
dice_utils.py CLAUDE: Refactor dice rolling into reusable utility module and add /d20 command 2025-10-29 01:15:11 -05:00
discord_helpers.py CLAUDE: Refactor scorebug display and add dynamic channel visibility 2025-10-22 16:58:21 -05:00
draft_helpers.py CLAUDE: Refactor draft system to eliminate hard-coded magic numbers 2025-10-24 22:14:17 -05:00
listeners.py Refactored listener logic and added SpoilerListener 2025-10-22 14:59:19 -05:00
logging.py CLAUDE: SUCCESSFUL STARTUP - Discord Bot v2.0 fully operational 2025-08-16 07:36:47 -05:00
permissions_examples.py CLAUDE: Add flexible permission system for multi-server support 2025-11-06 11:29:29 -06:00
permissions.py Fix @requires_team decorator API error handling 2025-11-14 09:31:14 -06:00
random_gen.py CLAUDE: Major bot enhancements - Admin commands, player stats, standings, schedules 2025-08-28 15:32:38 -05:00
scorebug_helpers.py CLAUDE: Fix scorebug win probability display logic and enhance percentage positioning 2025-10-29 00:39:41 -05:00
team_utils.py CLAUDE: Refine injury roll display and cleanup imports 2025-10-16 22:20:13 -05:00
text_utils.py CLAUDE: Add smart text splitting for Discord embed fields 2025-10-21 14:46:24 -05:00
transaction_logging.py CLAUDE: Add automatic transaction logging to #transaction-log channel 2025-10-23 12:24:37 -05:00