major-domo-v2/services
Cal Corum 5616cfec3a CLAUDE: Add automatic scorecard unpublishing when voice channels are cleaned up
This enhancement automatically unpublishes scorecards when their associated
voice channels are deleted by the cleanup service, ensuring data synchronization
and reducing unnecessary API calls to Google Sheets for inactive games.

Implementation:
- Added gameplay commands package with scorebug/scorecard functionality
- Created ScorebugService for reading live game data from Google Sheets
- VoiceChannelTracker now stores text_channel_id for voice-to-text association
- VoiceChannelCleanupService integrates ScorecardTracker for automatic cleanup
- LiveScorebugTracker monitors published scorecards and updates displays
- Bot initialization includes gameplay commands and live scorebug tracker

Key Features:
- Voice channels track associated text channel IDs
- cleanup_channel() unpublishes scorecards during normal cleanup
- verify_tracked_channels() unpublishes scorecards for stale entries on startup
- get_voice_channel_for_text_channel() enables reverse lookup
- LiveScorebugTracker logging improved (debug level for missing channels)

Testing:
- Added comprehensive test coverage (2 new tests, 19 total pass)
- Tests verify scorecard unpublishing in cleanup and verification scenarios

Documentation:
- Updated commands/voice/CLAUDE.md with scorecard cleanup integration
- Updated commands/gameplay/CLAUDE.md with background task integration
- Updated tasks/CLAUDE.md with automatic cleanup details

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 07:18:21 -05:00
..
__init__.py CLAUDE: Fix GroupCog interaction bug and GIF display issues 2025-10-16 22:15:42 -05:00
base_service.py CLAUDE: Fix /set-image command to use query parameters for API updates 2025-10-13 17:52:14 -05:00
chart_service.py CLAUDE: Add multi-image support for charts 2025-10-20 22:00:19 -05:00
CLAUDE.md CLAUDE: Add comprehensive CLAUDE.md documentation files for AI agent guidance 2025-10-20 20:30:07 -05:00
custom_commands_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
decision_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
game_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
giphy_service.py CLAUDE: Fix GroupCog interaction bug and GIF display issues 2025-10-16 22:15:42 -05:00
help_commands_service.py CLAUDE: Implement custom help commands system 2025-10-10 13:14:13 -05:00
injury_service.py CLAUDE: Add toggleable stats to /player command and injury system improvements 2025-10-17 23:26:08 -05:00
league_service.py CLAUDE: Add automated weekly transaction freeze/thaw system 2025-10-20 12:16:13 -05:00
play_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
player_service.py CLAUDE: Add /ilmove command for real-time roster moves with organizational affiliate support 2025-10-20 20:15:12 -05:00
roster_service.py CLAUDE: Comprehensive bot improvements and test infrastructure 2025-10-02 11:35:26 -05:00
schedule_service.py CLAUDE: Major bot enhancements - Admin commands, player stats, standings, schedules 2025-08-28 15:32:38 -05:00
scorebug_service.py CLAUDE: Add automatic scorecard unpublishing when voice channels are cleaned up 2025-10-21 07:18:21 -05:00
sheets_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
standings_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
stats_service.py CLAUDE: Major bot enhancements - Admin commands, player stats, standings, schedules 2025-08-28 15:32:38 -05:00
team_service.py CLAUDE: Refine injury roll display and cleanup imports 2025-10-16 22:20:13 -05:00
trade_builder.py CLAUDE: Refine injury roll display and cleanup imports 2025-10-16 22:20:13 -05:00
transaction_builder.py CLAUDE: Add /ilmove command for real-time roster moves with organizational affiliate support 2025-10-20 20:15:12 -05:00
transaction_service.py CLAUDE: Add /ilmove command for real-time roster moves with organizational affiliate support 2025-10-20 20:15:12 -05:00