> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dontmisstwice.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Running signups

> Roster panels with a cap, a waitlist, and auto-promotion that can't be raced.

`/scrimsignup post max_players:5` inside a scrim thread opens a roster panel. It
handles the cap, the waitlist, and auto-promotion on its own.

<Check>
  Two people pressing **Join** at the same moment can never overfill it. The cap
  holds under a race.
</Check>

## Managing an open signup

| Option            | What it does                                       |
| ----------------- | -------------------------------------------------- |
| `list`            | Shows every active signup panel and its roster.    |
| `lock` / `unlock` | Freezes a roster so nobody can join or leave.      |
| `clear`           | Empties a roster. Needs `confirm:true`.            |
| `refresh`         | Re-renders the panel and the linked schedule card. |

## Who's eligible

By default, eligibility follows the scrim's team. Override it with
`role_required:` when a specific scrim needs a specific role.

## Where the panel goes

Signups are posted **per team** — an FSC scrim's panel goes to the FSC signup
channel, MSC to theirs, Co-Ed to a channel both rosters can see.

<Tip>
  You don't pick it each time; the bot routes by the scrim's comp team. Pass
  `channel:` to override for one scrim, and a team with no channel of its own
  falls back to the shared default.
</Tip>

<Note>
  **The schedule stays put.** Only the signup panel moves per team. Every
  confirmed scrim is still announced in the one shared schedule channel, so
  nobody has to watch three places to see what's on.
</Note>
