major-domo-v2/constants.py
Cal Corum bcd6a10aef CLAUDE: Implement custom help commands system
Add comprehensive admin-managed help system for league documentation,
resources, FAQs, and guides. Replaces planned /links command with a
more flexible and powerful solution.

Features:
- Full CRUD operations via Discord commands (/help, /help-create, /help-edit, /help-delete, /help-list)
- Permission-based access control (admins + Help Editor role)
- Markdown-formatted content with category organization
- View tracking and analytics
- Soft delete with restore capability
- Full audit trail (creator, editor, timestamps)
- Autocomplete for topic discovery
- Interactive modals and paginated list views

Implementation:
- New models/help_command.py with Pydantic validation
- New services/help_commands_service.py with full CRUD API integration
- New views/help_commands.py with interactive modals and views
- New commands/help/ package with command handlers
- Comprehensive README.md documentation in commands/help/
- Test coverage for models and services

Configuration:
- Added HELP_EDITOR_ROLE_NAME constant to constants.py
- Updated bot.py to load help commands
- Updated PRE_LAUNCH_ROADMAP.md to mark system as complete
- Updated CLAUDE.md documentation

Requires database migration for help_commands table.
See .claude/DATABASE_MIGRATION_HELP_COMMANDS.md for details.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 13:14:13 -05:00

37 lines
853 B
Python

"""
Application constants for Discord Bot v2.0
"""
# Discord Limits
DISCORD_EMBED_LIMIT = 6000
DISCORD_FIELD_VALUE_LIMIT = 1024
DISCORD_EMBED_DESCRIPTION_LIMIT = 4096
# League Constants
WEEKS_PER_SEASON = 18
GAMES_PER_WEEK = 4
MODERN_STATS_START_SEASON = 8
# Current Season Constants
SBA_CURRENT_SEASON = 12
PD_CURRENT_SEASON = 9
# API Constants
API_VERSION = "v3"
DEFAULT_TIMEOUT = 10
MAX_RETRIES = 3
# Baseball Positions
PITCHER_POSITIONS = {"SP", "RP", "P"}
POSITION_FIELDERS = {"C", "1B", "2B", "3B", "SS", "LF", "CF", "RF", "OF", "DH"}
ALL_POSITIONS = PITCHER_POSITIONS | POSITION_FIELDERS
# Draft Constants
DEFAULT_PICK_MINUTES = 10
DRAFT_ROUNDS = 25
# Special Team IDs
FREE_AGENT_TEAM_ID = 31 # Generic free agent team ID (same per season)
# Role Names
HELP_EDITOR_ROLE_NAME = "Help Editor" # Users with this role can edit help commands