Skip to main content
A lineup is who’s actually playing a given scrim or match. Start from availability rather than a guess.

Building one

See who's free

/lineup suggest — everyone available at that time, split into starters and callable subs.

Open the sheet

/lineup create with the opponent and time.

Add players

/lineup add, one per player. Leave the slot off and it follows their roster status.

Check it

/lineup show posts the sheet in-channel, with any conflicts flagged.

Lock it in

/lineup set status:confirmed.

Close it out afterwards

/lineup set status:played.

Slots

Starter

The default for anyone with an active membership.

Substitute

The default for anyone on a substitute membership.

Stand-in

A main-roster player covering for another team.

Coach

Present, not playing. Never counted as a sub appearance.
Leave slot: off entirely and it follows the player’s roster status — substitutes land in the sub slot on their own. You only need to say it when you’re doing something out of the ordinary.

Conflicts

/lineup show re-checks the sheet against current reality and flags anyone who has since gone on leave, been released, or isn’t free at that time.
Players with no schedule on file are deliberately not flagged. That’s missing information, not a problem — and warning about it would train everyone to ignore the warnings that matter.

Substitute usage

/lineup subs shows who’s been filling in and how often, plus what they’ve already committed to. It’s the fastest way to spot someone quietly carrying three teams — and a fair basis for deciding who’s earned a look at the main roster.
Appearances are counted from played lineups only. If sheets get built but never closed out, /lineup subs stays empty and nobody gets credit for showing up.Marking it played is the step people skip. It takes one command.

On the dashboard

/admin/roster carries the same lineups, the same conflict flags, and the same substitute table — useful when you’re already in there moving people around.