Built for Valorant
end to end.
Any tournament bot knows teams and brackets. This one also knows ranks, maps, sides and scores to 13.
Scroll down to see the whole nightEight teams, two commands.
The organiser types two commands. Everything else is buttons players press inside Discord itself.
- MON · 18:00
Sign-ups open
The announcement shows up in the channel with a button. Anyone without a rank on their profile types their Riot ID in the same step and the bot imports it.
/tournament createOrganiser - FRI · 20:30
Channel check-in
Each player presses “I'm here”. Anyone who forgets gets a DM reminder; anyone who doesn’t confirm sits out the draw.
"I'm here" buttonPlayers - FRI · 21:00
Balanced draw
Teams come out level on rank and role mix. Nobody gets all three of the server’s Immortals.
/tournament startOrganiser - FRI · 21:05
Channel and veto
Every match gets a private channel with both teams. The veto happens there, turn by turn, and whoever didn’t make the last ban picks the side.
map buttonsCaptains - FRI · 21:50
The result arrives on its own
The bot finds the match in Riot match history and posts the score. Teams just press “Confirm”.
"Confirm" buttonBot + teams - FRI · 23:40
Final on stream
The bracket updates on the public page and in the OBS overlay. The champion gets the 🏆 badge on their profile.
page + overlayEveryone
Fair teams before round one
The draw reads each player’s rank, imported from Riot, from Iron to Radiant, and splits the teams so the gap is as small as possible.
- Rank imported from the Riot ID, not typed by hand
- Accounts for role mix, not just the number
- With Clube, ranks update on their own
Clutch FC
- kyraImmortal 1
- MendesDiamond 2
- zé.smokesPlatinum 3
- RafaAscendant 1
- TomásGold 2
The Lurkers
- neoAscendant 3
- BiaImmortal 1
- lurk.ptDiamond 1
- InêsPlatinum 2
- GugaGold 3
Nobody has to type the score
When the match ends, the bot finds it in Riot match history and posts it in the channel. Teams confirm in one click, or press “Dispute” if the bot picked up the wrong custom.
- Follows the rules: 13 rounds and overtime from 12–12
- Without match history, one team reports and the other confirms
- Free: 20 automatic results a month
overtime12
Read from Riot match history at 21:51 · waiting for confirmation
Real double elimination, for free.
Losers drop to the lower bracket. If the lower team wins the grand final, there’s a reset: the upper team deserves to lose twice too.
Single elimination
With byes when the team count doesn’t fit.
Double elimination
Upper and lower brackets, with a grand final reset.
League
Round robin, organised by matchdays.
Swiss and groups
For big tournaments, with a group stage and qualification.
The bracket goes into OBS with one link
Paste the overlay link as a browser source. It updates on its own, without flicker, and shows the upper bracket, the lower one or both.
- Fixed dark theme, readable over the game
- On the free plan it carries a discreet corner mark
A cup in one command
/cup sets up the whole cup: channels, roles, sign-ups and private stream overlays (scoreboard, veto, next match, champion).
The server doesn’t sit idle until Friday.
/queuePermanent queues
When the queue fills, a custom match opens with balanced teams.
/duelDuels
One-off matches against another team. The bot handles the map, the channel and the score.
/maps pickemMap pick'em
The server votes on the maps it wants out. The rest become the veto pool.
What changes versus a bracket bot.
| On tournament night | Generic bracket bot | SpikeCup |
|---|---|---|
| Each player’s rank | Typed by hand at sign-up | Imported from Riot by Riot ID |
| Balanced teams | Random or manual draw | By rank and role mix |
| Map veto and side | Sorted out in a chat | Buttons in the match channel |
| Score | Somebody types it in | Read from Riot match history, confirmed by both teams |
| Impossible score (13–12) | Accepted without warning | Rejected, with the rule explained |
| Stream | Screenshot of the bracket | OBS overlay that updates on its own |
| Entry fees | Transfers checked by hand | PayPal link per player and a list of who paid |
Adding the bot and opening your first sign-ups takes about three minutes.