Major Domo v2 - Discord bot for Strat-o-Matic Baseball Association
Go to file
Cal Corum 5d922ead76 CLAUDE: Add core draft command with global pick lock
Implement /draft slash command with comprehensive pick validation:

Core Features:
- Global pick lock (asyncio.Lock) prevents concurrent picks
- 30-second stale lock auto-override for crash recovery
- FA player autocomplete with position and sWAR display
- Complete pick validation (GM status, turn order, cap space)
- Player team updates and draft pick recording
- Success/error embeds following EmbedTemplate patterns

Architecture:
- Uses @logged_command decorator (no manual error handling)
- Service layer integration (no direct API access)
- TeamService caching for GM validation (80% API reduction)
- Global lock in cog instance (not database - local only)
- Draft monitor task can acquire same lock for auto-draft

Validation Flow:
1. Check global lock (reject if active pick <30s)
2. Validate user is GM (cached lookup)
3. Get draft state and current pick
4. Validate user's turn or has skipped pick
5. Validate player is FA and cap space available
6. Execute pick with atomic updates
7. Post success and advance to next pick

Ready for /draft-status and /draft-admin commands next.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 14:58:09 -05:00
.gitlab CLAUDE: Add automated weekly transaction freeze/thaw system 2025-10-20 12:16:13 -05:00
.vscode CLAUDE: Convert constants to configurable environment variables 2025-10-16 10:40:22 -05:00
api CLAUDE: Add automated weekly transaction freeze/thaw system 2025-10-20 12:16:13 -05:00
commands CLAUDE: Add core draft command with global pick lock 2025-10-24 14:58:09 -05:00
models Refactor x-check chart data 2025-10-22 20:41:21 -05:00
services CLAUDE: Add draft system services (no caching) 2025-10-24 12:04:26 -05:00
tasks CLAUDE: Add draft monitor background task 2025-10-24 13:53:38 -05:00
tests CLAUDE: Refactor voice cleanup service to use @tasks.loop pattern 2025-10-24 00:05:35 -05:00
utils Draft pick service and draft helpers 2025-10-24 10:24:14 -05:00
views CLAUDE: Add draft system view components 2025-10-24 14:56:11 -05:00
.dockerignore Add debug directory to .gitignore and .dockerignore 2025-10-24 00:06:34 -05:00
.gitignore Draft pick service and draft helpers 2025-10-24 10:24:14 -05:00
.gitlab-ci.yml CLAUDE: Add automated weekly transaction freeze/thaw system 2025-10-20 12:16:13 -05:00
.mcp.json CLAUDE: Add automated weekly transaction freeze/thaw system 2025-10-20 12:16:13 -05:00
bot.py CLAUDE: Refactor voice cleanup service to use @tasks.loop pattern 2025-10-24 00:05:35 -05:00
BUILD_AND_PUSH.md CLAUDE: Add comprehensive Docker deployment infrastructure 2025-10-16 00:54:56 -05:00
build-and-push.sh CLAUDE: Add comprehensive Docker deployment infrastructure 2025-10-16 00:54:56 -05:00
CLAUDE.md CLAUDE: Add comprehensive CLAUDE.md documentation files for AI agent guidance 2025-10-20 20:30:07 -05:00
COMMAND_LIST.md CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
config.py Add sba_logo_url to the config and update /standings formatting 2025-10-21 14:40:03 -05:00
docker-compose.dev.yml CLAUDE: Add comprehensive Docker deployment infrastructure 2025-10-16 00:54:56 -05:00
docker-compose.yml CLAUDE: Add comprehensive Docker deployment infrastructure 2025-10-16 00:54:56 -05:00
DOCKER.md CLAUDE: Add comprehensive Docker deployment infrastructure 2025-10-16 00:54:56 -05:00
Dockerfile CLAUDE: Add comprehensive Docker deployment infrastructure 2025-10-16 00:54:56 -05:00
Dockerfile.versioned CLAUDE: Add automated weekly transaction freeze/thaw system 2025-10-20 12:16:13 -05:00
exceptions.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
PRE_LAUNCH_ROADMAP.md CLAUDE: Reorganize data storage and enhance team/roster displays 2025-10-15 19:05:51 -05:00
pyrightconfig.json CLAUDE: Convert constants to configurable environment variables 2025-10-16 10:40:22 -05:00
requirements.txt CLAUDE: Add comprehensive Docker deployment infrastructure 2025-10-16 00:54:56 -05:00
test_real_data.py CLAUDE: Refine injury roll display and cleanup imports 2025-10-16 22:20:13 -05:00