Tournament brackets
Open a tournament and it gets its own thread, a short code people can join
from anywhere, and a pinned card with the rules, entry fee and prize. When
it starts, the bot draws the bracket and posts a match card for every
round-one pairing, pinging both players.
A player can hold more than one entry, and the draw
guarantees nobody meets themselves in round one unless the arithmetic makes
it unavoidable — and then as rarely as possible.
A real render: eleven entries in a 16-slot bracket. Alice holds three of
them and Bob two, and the draw has scattered each player's entries into
separate matches. The five byes are spread one per match.
⚔ Round 1 · Match 2 — Summer Cup
@alice Won
vs
@bob Won
How a match card looks in the channel.
Every live card carries a button per player. Press the winner's name:
claiming your own win brings the card back to the bottom for your opponent
to confirm, and conceding settles it outright. A tournament never stalls
behind a player who has gone quiet. Organizers can settle a match outright,
undo a result and everything downstream of it, or hand a dropped-out
player's seats to someone else mid-tournament.
Or run it as an olympics and nobody reports anything: the
bot deals every match as a dice game in the thread, and the winner advances
the moment it lands. Which game a heat plays is drawn from the same sealed
secret the tournament publishes when it ends, so that is checkable too — and
the final is a best of three the two finalists pick themselves.
Watch one play out →
Death Roll
A duel: roll from 1 to the last number rolled, and whoever
rolls a 1 loses. Both players roll once at the start to
decide who goes first, each on their own message with their own button, and
every roll is sealed into the channel as a permanent line.
🎲 @alice — your roll. Rolling 1–100. · K4M2QP
🎲 Rollℹ️ Info
🎲 @alice rolled 42 from 1–100. Now rolling 1–42.
🏆 Death Roll over — @bob rolled a 1.
@alice wins 100 off @bob!
A turn, the record it leaves, and the result.
There are five dice games: Death Roll, and four settled in one throw each —
/roll hi, lo, far and
close. A game needs no stake at all — /roll dr user:@rival plays for
bragging rights, which is the common case. Where there is a wager it moves
a notional score: a number kept per player per server, with
no money, purchase or exchange anywhere in it. Everyone starts at zero and
can go as far into the red as their luck takes them.
Poker nights
The one thing here the bot does not play. A poker night happens at a table,
or in a client the bot has no account on — what it runs is the arranging,
which is the part that goes wrong in a channel. Open one with the buy-in,
the payment link and the prize, and the roster card is
reposted every time somebody joins, so it never scrolls
away under the conversation.
♠️ Friday Poker · P4M2Q
💰 Buy-in: $20 · 💳 paypal.me/host · 🎁 The pot
Players — 3/50 · @host @alice @bob
♠️ Joinℹ️ Info
🔔 Friday Poker — check in · Paid 2 of 3
✅ host✅ alice💸 bob🪦 Busted
🏆 Friday Poker — final
🥇 @alice · 🎯 3 🥈 @host · 🎯 2 🥉 @bob · 🎯 1
The roster, the check-in, and what it leaves behind.
Check-in pings everybody and gives each player a button to press once they
have paid — the host can press anybody's, for whoever pays in cash. The bot
never touches the money: it displays a link somebody typed
and records that a human said it arrived. As each player busts out the host
presses Busted, so the finishing order builds itself —
and every position scores: at a table of N the
winner takes N points and last takes 1, so turning up every week
can out-rank one lucky night. Points are kept by month,
and a cancelled night counts for nothing.
Watch one come together →
What it is like to run
Nobody rolls by hand
Every roll and every draw comes from the bot, using the operating
system's cryptographic random source. There is no "trust me, I rolled
a 7".
The thread is the record
Each tournament lives in its own thread with its opening card, field,
champion and final bracket pinned. Duels leave a line per roll.
Organizers, not admins
Running tournaments takes a role you choose, or Manage Server. The
commands that change a result are separate and logged.
One bot, every game
One application, one invite, one member in your list — and a shared
score that spans every game on your server.
Add it
The invite asks for the permissions listed on Setup,
each with the reason it is needed. Nothing privileged: every game arrives as
slash commands, so the bot never reads your server's messages. What it does
keep is set out in the privacy policy.