Makes all application constants (except baseball positions) configurable
via environment variables for greater deployment flexibility.
Changes:
- config.py: Added 18 new configurable fields to BotConfig
* Discord limits (embed/field/description limits)
* League settings (weeks, games, modern stats era)
* Current season constants (SBA/PD)
* API configuration (version, timeout, retries)
* Draft settings (pick minutes, rounds)
* Special team IDs (free agent team)
* Role/channel names (help editor, players, news channel)
* Base URLs (SBA website)
- constants.py: Refactored to load from config
* All constants now read from get_config()
* Position sets remain static (PITCHER_POSITIONS, etc.)
* Added documentation about configurability
- .env.example: Added all new environment variables
* Organized into logical sections with headers
* Includes default values from config.py
* Clear documentation for each setting
Benefits:
- Environment-specific configuration without code changes
- Easy deployment across dev/staging/production
- Season rollover requires only env variable updates
- Team-specific customization (channels, roles, URLs)
- Docker-friendly configuration management
Backward Compatible: All defaults match previous hardcoded values
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Complete rebuild of the Discord bot with modern architecture including:
- Modular API client with proper error handling
- Clean separation of models, services, and commands
- Comprehensive test coverage with pytest
- Structured logging and configuration management
- Organized command structure for scalability
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>