Skip to content

Knockout Rounds ​

Knockout rounds are single elimination, from Round of 32 through the Finals. A straight bracket is knockout from the start. A groups tournament reaches it when every group is closed and you run /bracket open (see Starting the Knockout).

Most of the time you only need two commands:

/bracket open     # open the current round
/bracket close    # close it and move the winners on

For finer control, /bracket open-matchup and /bracket close-matchup work on single matchups or one region at a time.

Regional Labels ​

Each round is split into 4 regions, March Madness style. A matchup's label is its region number plus a letter:

RoundMatchupsLabels
Round of 32161A–1D, 2A–2D, 3A–3D, 4A–4D
Round of 1681A, 1B, 2A, 2B, 3A, 3B, 4A, 4B
Quarterfinals41A, 2A, 3A, 4A
Semifinals21A, 3A
Finals1Finals

/bracket status shows the labels of open matchups. The button pickers described below show them too.


Opening a Round ​

/bracket open ​

/bracket open duration:<time>

Opens every matchup in the current round that has both titles in place.

Parameters:

  • duration (optional) - How long voting stays open, from 5m to 30d. Examples: 30m, 24h, 3d.

If duration is left out, the bot uses the default voting duration set in the setup form. If the form didn't set one, the default is 24h.

Who can use: Administrators and Moderators only

Rounds with more than 5 matchups (Round of 32, Round of 16) are too many for one voting session. /bracket open tells you to open them by region with /bracket open-matchup instead.

Examples:

/bracket open
/bracket open duration:48h
/bracket open duration:30m

How members vote ​

Opening a round posts the voting message:

The voting message, posted in the channel

Its Start Voting button opens a personal voting dashboard (only that member sees it):

  • Every open matchup, with a button for each title (your picks are purple)
  • Your votes: every matchup you've voted in this tournament, your pick ticked, under a heading per round (Round 1, Round 2… then the Final). Where a round has more than one matchup per region, each region gets its own heading and its matchups go by letter:
    Round 1 · Region 1
    A: ✅ Session 9 vs A Nightmare on Elm Street
    B: Chucky vs ✅ Halloween (1978)
    
    Round 3
    1A: ✅ Session 9 vs Halloween (1978)
    Only you see this list; it's on your own ballot.
  • Your voting streak
  • Choices save right away and can be changed until the matchup closes

A member's own voting dashboard: their picks in purple, their streak, and every vote they've cast

Live vote counts are visible to everyone:

Live standings, updated as votes come in

Once the bot's own emoji are uploaded (it does this itself on its first start; see Installation), the bars are drawn with them instead of squares: a bar under each title, with its votes and share, when there's room; one bar per matchup, split between the two titles' counts, when more matchups are open; and the squares above for a whole round of long titles. The card picks its look once, for the matchups it's showing, and keeps it until they close, so it never changes shape between votes. The totals underneath read 🗳️ 12 votes · 👥 6 voters · ⚔️ 2 matchups.


Opening Part of a Round ​

/bracket open-matchup ​

/bracket open-matchup matchup:<labels> duration:<time>
/bracket open-matchup region:<1-4> duration:<time>
/bracket open-matchup duration:<time>

Parameters:

  • matchup (optional) - One label or several, comma-separated: 1A, 2B,3A, Finals
  • region (optional) - 1 to 4. Opens every matchup in that region of the current round.
  • duration (optional) - 5m to 30d. Same default as /bracket open.

Who can use: Administrators and Moderators only

With nothing but duration, the bot shows buttons:

  • More than 5 matchups in the round: one button per region.
  • 5 or fewer: one button per pending matchup.

Buttons expire after 15 minutes.

Open by region ​

Use this for Round of 32 and Round of 16, or to spread a round over several days:

/bracket open-matchup region:1 duration:24h
/bracket open-matchup region:2 duration:24h

WARNING

Opening a region only opens its matchups that haven't been voted on yet. Matchups already voting keep their votes, and decided ones keep their results; the reply lists them.

Open single matchups ​

/bracket open-matchup matchup:1A
/bracket open-matchup matchup:1A,1B,2A duration:24h
/bracket open-matchup matchup:Finals duration:3d

Good for a "match of the day", or for spacing out the semifinals and final.


Closing a Round ​

/bracket close ​

/bracket close tiebreaker-duration:<time>

Closes every open matchup in the current round and moves the winners into the next round.

Parameters:

  • tiebreaker-duration (optional) - How long a tiebreaker vote runs, from 5m to 7d

If tiebreaker-duration is left out, the bot uses the default set in the setup form. If the form didn't set one, the default is 1h.

Who can use: Administrators and Moderators only

What happens:

  • The title with more votes wins each matchup.
  • A tied matchup starts a tiebreaker vote. The winner moves on when it resolves, at its deadline or through /bracket resolve-tiebreaker. Its bars show each option's share of the votes: gold for the one ahead (or every one sharing the lead), blue for the rest.
  • When every matchup in the round is closed, the tournament moves to the next round. Run /bracket open to start it.
  • Closing the Finals ends the tournament and names the champion.

Voting also closes by itself at the deadline, with a reminder posted beforehand.

Examples:

/bracket close
/bracket close tiebreaker-duration:30m

Output:

✅ Quarterfinals Closed
Closed 4 matchups

🏆 Winners
• 1A: The Thing (15 vs 8)
• 2A: Alien (12 vs 11)
...

A matchup's results card, posted as it closes

Each matchup's result card shows the vote split as one bar between the two counts (the winner's share in green from the left, the runner-up's in orange; gold on both sides when a tie went to the higher seed).

Under it is a picture of the matchup, drawn in the bot's own style:

  • The two posters face off across a crackling lightning VS.
  • The winner's poster is larger, in a gold-and-jade frame under a red WINNER sash with a trophy. The runner-up's is dimmed.
  • The vote split is a gold bar from the left and a blue one from the right, with each side's share and votes above it.
  • An UPSET! stamp marks a worse seed beating a better one. "Tied: higher seed advances" marks a tie the higher seed took.
  • A title with no poster (or one that didn't load in time) gets a carved placeholder with its name instead.

If the picture can't be drawn within 5 seconds, or the bot can't attach files in that channel, the card posts without it and shows the winner's poster as a small thumbnail in its corner, as it used to. Tiebreaker results and /bracket close-matchup show the winner's poster as a thumbnail.


Opening the next matchup closes earlier ones ​

When you open matchups, any others in the round still voting close first, exactly as their deadline would: winners are announced, and ties get a tiebreaker vote. Running a round one matchup at a time (/bracket open-matchup matchup:1A, then 1B, …) therefore always has exactly one matchup voting, and earlier votes are locked in. To keep several voting together, open them in one go: matchup:"1A,1B", or region:1.

The matchup option suggests the current round's matchups that haven't been voted on yet, with both titles, so you don't need to remember labels.

How much time is left? ​

Ballots and the live standings show a countdown ("closes in 2 hours") that Discord keeps up to date. Anyone can also run /bracket status to see every open matchup and its time left, or /bracket my-votes for their own votes. /bracket status shows each open matchup with the same coloured bars as the live standings. If the voting card has scrolled out of sight, /bracket voting-post posts it again with its Start Voting button, and brings the live standings down with it (once every 10 minutes per channel; admins and mods any time).

/bracket close-matchup ​

/bracket close-matchup matchup:<labels> tiebreaker-duration:<time>
/bracket close-matchup

Closes one or more open matchups and moves their winners on.

Parameters:

  • matchup (optional) - One label or several, comma-separated. Leave it out to pick from buttons showing each open matchup and its vote count.
  • tiebreaker-duration (optional) - 5m to 7d. Same default as /bracket close.

Who can use: Administrators and Moderators only

Examples:

/bracket close-matchup matchup:1A
/bracket close-matchup matchup:1A,2A tiebreaker-duration:30m
/bracket close-matchup

When the last matchup of a round closes, the tournament moves to the next round.


Tournament Status ​

/bracket status

Shows the current phase, each open matchup with the same vote bars and closing time as the live standings, and how many matchups are done. It's a snapshot; the live standings card is the one that keeps updating.

Who can use: Everyone

/bracket status during a round


View the Bracket ​

/bracket view

Draws the tournament as an image.

Who can use: Everyone

  • During the knockout: the bracket tree, with each round, winners highlighted, and the champion once there is one.
  • Before the knockout: an overview of the tournament's groups and titles.

Posted for you as the tournament goes. Whenever knockout matchups are decided, the bot posts the bracket as it now stands, under the results: Bracket So Far, then the Final Bracket with the champion. Matchups closing together (a whole round at its deadline) get one image, not one each. A tie posts its bracket once its tiebreaker decides it.


Fixing a Bracket ​

Groups tournaments only: /bracket regenerate rebuilds the knockout bracket from the group results. Seeding, wildcards, and matchups are worked out again, and any knockout voting already under way is discarded.


Quick Reference ​

CommandPurposeWho Can Use
/bracket openOpen the current roundAdmins/Mods
/bracket closeClose the current round and move winners onAdmins/Mods
/bracket open-matchupOpen one region or specific matchupsAdmins/Mods
/bracket close-matchupClose specific matchupsAdmins/Mods
/bracket resolve-tiebreakerSettle a tiebreaker earlyAdmins/Mods
/bracket extend-votingSet a new deadline for the roundAdmins/Mods
/bracket statusProgress and live vote countsEveryone
/bracket viewBracket imageEveryone
Start Voting buttonVote in open matchupsEveryone

Related Pages:

Egg Shen — A Discord bot for movie, TV, video and board gaming, and book communities.