A clear format
Motion, two named sides, the number of rounds, turn length and team size. The rules are fixed when the debate opens, so nobody changes them mid-way.
Debates brings a real debate format to your server. A host opens a debate with a motion and two sides; members join a side with a button while the audience casts an opening vote. The rounds alternate speakers with a timer, then the audience votes again. By default the winner is the side with the biggest swing: the one that changed the most minds.

Motion, two named sides, the number of rounds, turn length and team size. The rules are fixed when the debate opens, so nobody changes them mid-way.
Each round side A speaks, then side B, and debaters take turns by seat. The speaker can end early with Done speaking, and the host can skip a turn.
The audience votes before and after the rounds, including Undecided. Only totals are shown until the end, and debaters can’t vote.
The side that gained the most share between the two votes wins. Prefer a simple count? Switch the winner to the most closing votes.
Run each debate in its own thread, optionally deleting messages from anyone but the speaker, or lock the channel so only the current speaker can write.
Results cards, member stats and a debater leaderboard. Optional coin rewards for taking part and for the winning side, paid by the server.
Open https://console.botgg.app, choose your server and turn on Debates in the Community section. Pick a debate channel, host roles and a ping role.
Choose rounds, turn length, team size, sign-up and voting time, how the winner is decided and how turns are enforced.
A host runs /debate open with the motion. Members join a side from the panel and the audience casts the opening vote.
The rounds start when sign-ups close. After the last turn the audience votes again and the results card shows the swing and the winner.
Debates suits debate clubs, language practice, classrooms and any community that loves an argument but wants it fair. Everything is driven by buttons and timers, survives a bot restart, and every step happens exactly once even if buttons and timers fire together. Debates never reads message content: strict turns only look at who wrote.
Debates running at the same time: 1 on Free, up to 5 on Pro. Rewards are optional and go through the Bank. Flows can open and cancel debates and react when one opens, starts, ends or a debater gets a result.
/debate open: open a debate with a motion, sides, rounds, turn length and team size/debate start, skip, cancel: the host runs the debate/debate status: what’s happening now/debate stats, /debate top: your record and the best debatersGenerated from the bot’s real command definitions. Full list on the commands page.
/debateDebates: open a structured debate, run it, see results7 subcommands/debate openmotionside_a?side_b?rounds?turn_seconds?team_size?Open a debate in this channel/debate startnumber?Host or staff: start the debate now/debate skipnumber?Host or staff: end the current turn/debate cancelnumber?Host or staff: call the debate off/debate statusDebates running now/debate statsmember?A member’s debate record/debate topBest debatersEvery feature works on the Free plan. Pro raises the limits and unlocks extras.
| Limit | Free | Pro |
|---|---|---|
| Debates at once | 1 | 5 |
Turn on Debates in the BotGG console, pick a channel and host roles, then run /debate open with your motion. The bot handles sign-ups, turns, timers and votes.
By default, by the swing: the side whose share of the audience vote grew the most between the opening and closing vote wins. You can switch to the most closing votes.
Yes. In thread mode, strict turns delete messages from anyone but the speaker and host. In overwrite mode only the current speaker can write in the channel.
Members with Manage Server or a host role you choose. You can also let everyone open debates and limit them to one channel.
Optional. You can pay coins to every debater and extra to the winning side. They are paid by the server, nobody stakes anything.
Add BotGG for free, then switch features on in the web console.