/game_channels

Auto-create game-day channels per matchup

/game_channels
Game DayUses league data
Last updated: 

What it does

/game_channels builds a private text channel for every matchup in a given week — one channel per game, named like cowboys-at-eagles. Each channel gets a banner with both teams' records, a roster preview, a force-win button row, and a ping to the two team owners.

When the week ends, one clear command tears them all down (tracked channels plus any orphans it finds in the configured category). The scoreboard channel keeps a running embed of every game's result.

This is admin-only — channels are created and deleted in your Discord server, so the bot needs Manage Channels permission. The dashboard at /commish/<guildId>/game-channels is the preferred surface for repeat use; it has the same buttons without the typing.

How to use

/game_channels configure category:<#cat> scoreboard_channel:<#chan> notification_period:<hours> admin_role:<@role> [announcement_channel:<#chan>]
/game_channels create week:<1-18> [category_override:<#cat>]
/game_channels wildcard | divisional | conference | superbowl  [category_override:<#cat>]
/game_channels clear
/game_channels notify

Run configure once. After that, create spins up the week's channels, notify re-pings owners who haven't scheduled yet, and clear deletes everything when the week is done.

Common questions

Q: Can I run this from the dashboard instead? A: Yes — /commish/<guildId>/game-channels has buttons for create / clear / notify, plus a per-week dropdown. Same code path, no slash typing.

Q: I cleared the channels but a few stragglers stuck around. A: Clear also sweeps unrecognized channels under the configured category that match the team-at-team naming pattern. If something survived, it didn't match the naming or wasn't in the right category — delete it manually.

Q: How do I pick playoff weeks? A: Use the named subcommands: /game_channels wildcard, divisional, conference, superbowl. The raw week: integer doesn't accept playoff slots.

Q: A second admin tried to run create while one was already going. A: The bot holds a per-server lock during create/clear/notify. The second invocation gets a "run already in progress" reply. Wait for the first to finish.