BattleBot
Commands

BattleBot’s Discord tournament bot commands are slash commands you type straight into any channel: one command creates a tournament, another lists the ones open for sign-ups, and a handful more let organisers fix matches when something goes wrong. Everything below is what the bot actually registers with Discord today.

Most of running a tournament happens through buttons rather than commands — players sign up and report results with one tap — so this reference is shorter than you might expect. That is deliberate.

Commands anyone can use

These are available to every member of a server that has BattleBot installed. Replies are private (ephemeral) unless the command posts something the whole channel needs to see.

CommandWho can run itWhat it does
/ask request:EveryoneAsk the AI tournament assistant anything about the tournaments in your server, in plain English. Players can check status, find their next match, look up a bracket, and sign themselves up or withdraw; admins get the management tools on top.
/tournament_assistant request:EveryoneThe long form of /ask — identical behaviour, same assistant. Both accept an optional tournament_id if your server is running more than one tournament and you want the answer scoped to a specific bracket.
/tournaments openEveryoneLists the tournaments in this server that are currently open for sign-ups, with the join button attached so you can enter without leaving the channel.
/tournaments mineEveryoneLists the tournaments you created, so an organiser running several at once can find the right ID without scrolling back through the channel.
/tournaments leaveEveryoneWithdraws you from a tournament that has not started yet. Once the bracket has been generated, an admin has to remove you instead, because a bracket with a hole in it can't advance.
/report_result match:PlayersReports that you won a match, for games BattleBot can't watch directly. Your opponent gets a Confirm or Dispute button; on confirmation the bracket advances, and a dispute is handed to an admin to resolve.
/tournaments_createRestricted by defaultOpens the tournament setup wizard. It takes no options: pick the game first, fill in the name and player count in a pop-up form, then choose the format and settings on the panel that follows. Discord hides this command from everyone except server admins by default — grant it to other roles under Server Settings → Integrations if you want more people creating tournaments.
/inviteEveryonePosts the link for adding BattleBot to another Discord server. Handy when someone in your community wants it in their own server.
/infoEveryoneA short summary of what BattleBot does — tournaments and leaderboards — for members who have just seen the bot for the first time.

Worked examples: everyday commands

  • /ask request: Who do I play next? — the assistant replies privately with your next match, its bracket ID and your opponent.
  • /tournament_assistant request: Show me all pending matches — a private list of every match still waiting to be played.
  • /tournaments open — the open tournaments in this server, or a note that there are none.
  • /tournaments mine — every tournament you have created in this server, with its ID and status.
  • /tournaments leave tournament_id: 3yecqgwdffp5akb1b785q3589kqk6gr — you are removed from that tournament and your spot reopens.
  • /report_result match: 10001 — your opponent is asked to confirm that you won match 10001.
  • /tournaments_create — the game picker appears, and the wizard walks you through the rest.
  • /invite — the bot replies with its install link.
  • /info — a welcome message explaining the bot.

Admin commands

Everything an organiser needs to unstick a tournament lives behind a single command, /tournaments_admin, whose command: option is a fixed list. It is restricted by default in Discord, and BattleBot re-checks permissions per tournament: a creator can manage the tournaments they made, and server ambassadors and super users can manage any of them.

Two of these take extra options. args: carries an ID (a tournament ID or a match ID), and discord_id: is where you @-mention a player.

CommandWho can run itWhat it does
/tournaments_admin command: helpAdminPrints this same reference inside Discord, with the exact argument shape for each admin command. The fastest way to check syntax mid-tournament.
/tournaments_admin command: start_tournamentAdminForce-starts a tournament without waiting for every slot to fill. The bracket is generated from whoever has registered, match threads open, and play begins.
/tournaments_admin command: restart_matchAdminRestarts a match — for a disconnect, a wrong result, or a game that has to be replayed. If the match has already fed into later rounds, BattleBot shows a confirmation dialog first, because restarting it also clears those downstream matches.
/tournaments_admin command: finish_match_with_winnerAdminEnds a match and awards it to a specific player. This is the no-show tool: if someone never turns up, hand the win to their opponent and the bracket keeps moving.
/tournaments_admin command: finish_match_with_winner_overrideAdminThe same, but it never creates another game. In a first-to-X series the normal command would spin up the next game in the series; the override closes out the whole series instead.
/tournaments_admin command: retry_failed_battlesAdminRetries every match in the current round that is stuck as Pending because the game's API refused to create it. Use it when a round looks like it started but no one can play.

Worked examples: admin commands

  • /tournaments_admin command: help — a private message listing every admin command and its usage.
  • /tournaments_admin command: start_tournament args: 3yecqgwdffp5akb1b785q3589kqk6gr — that tournament closes registration and round one begins.
  • /tournaments_admin command: restart_match args: 10001 — match 10001 is reset and the players are asked to play it again.
  • /tournaments_admin command: finish_match_with_winner discord_id: @Player args: 10001 — @Player is recorded as the winner of match 10001 and advances.
  • /tournaments_admin command: finish_match_with_winner_override discord_id: @Player args: 10001 — the series ends immediately with @Player as the winner.
  • /tournaments_admin command: retry_failed_battles args: 3yecqgwdffp5akb1b785q3589kqk6gr — BattleBot tries again to create the missing matches.

Admins can also do most of this by asking. /ask exposes the same actions to the same people: “restart match 10001”, “set @Player as winner of 20001”, “disqualify @Player for a no-show” and “send a reminder for match 10001” all work, and permissions are re-checked before anything runs. There is also a separate /admin command that BattleBot only registers in partner servers run by Gangbusters; you will not see it in a community server.

The buttons that do the rest

Most of a tournament runs on buttons BattleBot posts for you, which is why players rarely need to learn a command at all:

  • Sign Up — on the registration message. One tap enters a player, and the button shows how many spots are left.
  • Start Registration and Close Registration — on the organiser’s tournament panel, for opening sign-ups and cutting them off early.
  • List Registered Players — who is currently in.
  • Confirm Result and Dispute — posted to the losing player after a result is reported. Confirming advances the bracket; disputing escalates to an admin, who gets buttons to award the win either way.
  • Restart confirmation — shown when restarting a match would also wipe matches in later rounds, so nobody does that by accident.

Commands that are still placeholders

Discord shows these in the command picker because BattleBot registers them, but they currently reply “Coming soon”. They are listed here so you don’t waste time wondering why they do nothing:

  • /tournaments status — status of a tournament by ID. Use /ask or the web bracket viewer in the meantime.
  • /leaderboards server and /leaderboards global — top players in your server and across all servers.

Which command do I use?

The eight things people actually ask for, and the BattleBot command that does each one.

How do I start a tournament?

Run /tournaments_create in your server. The wizard asks for the game, a name, the bracket size and the format, and once you press Create you open registration from the tournament panel it posts.

How do I join a tournament?

Tap Sign Up on the registration message BattleBot posts in the channel. Run /tournaments open first if you need to find one, or just say “sign me up” to /ask.

How do I find out who I play next?

Type /ask request: Who do I play next? and the assistant replies privately with your next match, its bracket ID and your opponent.

How do I report that I won a match?

Use the report button in your private match thread, or run /report_result match: <id>. Either way your opponent is asked to confirm before the bracket advances.

How do I drop out before a tournament starts?

Run /tournaments leave. Once the bracket has been generated the command no longer applies, and an admin has to remove you instead.

How do I deal with a no-show?

Award the match to the player who did turn up with /tournaments_admin command: finish_match_with_winner discord_id: @Player args: <match id>, or ask the assistant to disqualify the absent player. The bracket advances immediately either way.

How do I undo a wrong result?

Use /tournaments_admin command: restart_match to have the match played again, or /tournaments_admin command: finish_match_with_winner to set the right winner directly. Restarting a match that has already fed into later rounds asks for confirmation first.

How do I add BattleBot to another Discord server?

Run /invite and BattleBot posts its install link, which anyone with the Manage Server permission can use to add it elsewhere.

More on BattleBot

Try the commands

Add BattleBot to your Discord server and type /tournaments_create. It’s free, and you can have a bracket running in about a minute.

ADD TO DISCORD