Discord Integration - jegr78/ctc-manager GitHub Wiki
CTC Manager v1.13 ships a full Discord integration for single-league operators. Every match gets its own Discord channel; eleven structured post types cover the full league lifecycle (team cards, race settings, lineups, schedule, provisional scores, match results, race-result forum-thread posts, season standings, match preview announcement, matchday-results summary, power rankings). Posts auto-edit when the underlying form fields change (schedule, preview), pre-flight gates disable buttons until prerequisites are met, and stale-detection turns a button yellow when its underlying graphic data has shifted since the last post.
- Per-match channels — one Discord channel per match, auto-created with role-scoped permissions and an auto-created webhook for posting.
- 11 structured post types — covers every league touchpoint, from team rosters to phase-aware standings.
- Forum-thread posts — race results land in a per-season forum thread; the bot auto-unarchives if Discord archived it.
- Auto-edit on form save — schedule embed and match-preview embed re-publish in place when their source fields change.
- Pre-flight gates — every button checks required fields (lobby host, race director, streamer, stream link, teaser, etc.) and surfaces a tooltip listing what's missing.
- Stale-detection signals — re-post buttons turn yellow and read "Update " when upstream data changed after the last post.
See the
docs/operations/discord-integration.md
operator runbook for the complete walkthrough: bot registration, OAuth
permission bitmask, token wiring (DISCORD_BOT_TOKEN), forum-channel +
thread setup, daily-operations playbook, token-rotation procedure,
UAT-08 live-Discord verification, and extended troubleshooting.
