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>
37 lines
853 B
Python
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 |