Hermes Games

Watch a game play out

Nothing here needs anyone to roll a real die or keep score. Pick one and it walks through a whole game, step by step, exactly as it appears in a channel.

Tournament brackets

Single elimination, drawn by the bot. Players hold as many entries as you allow, and nobody meets themselves in round one. Run it as an olympics and the bot plays the matches too.

Watch a tournament β†’

Death Roll

A duel of nerve. Roll from 1 to the last number rolled; whoever rolls a 1 loses. Stakes optional.

Watch a duel β†’

Poker nights

The bot does not deal. It runs the roster, chases the buy-in, and keeps the record β€” for a game played at a table it cannot see.

Watch a night come together β†’

A tournament, start to finish

An organizer asks, and another approves

/tour create name:Summer Cup size:16 prize:Trophy prize-value:$120

πŸ—³οΈ Waiting for approval β€” any host except the one who asked can approve

Summer Cup

Size 16 Β· Prize Trophy Β· Prize value $120 Β· Entry fee $5 Β· A full bracket collects $80

βœ… Approve Β· βœ–οΈ Reject Β· πŸ—‘οΈ Withdraw

Nothing opens until a second host presses Approve. A rejected request comes back to its host with an Edit button, and goes for approval again once fixed.

πŸ† Bracket tournament

Summer Cup

Code K4M2QP Β· Status Registration Β· Entries 0 / 16

πŸ“Œ Pinned β€” the card stays at the top of the thread while the tournament fills.

Players join themselves

/tour join takes a spot. /tour join entries:2 takes two β€” and tab:@friend records who is paying, if anyone is.

βž• @alice joined Summer Cup β€” 15 / 16

βž• @bob joined Summer Cup β€” 16 / 16. Full.

Every join is announced, and the pinned roster is edited to match β€” one roster for the whole tournament, always current. When the fee is a price, the roster also says what each payer owes so far, for anyone who wants to pay before the draw.

The bot draws the bracket

/tour start. The draw is seeded from a cryptographic random source, and it scatters each player's entries so nobody faces themselves in round one unless the arithmetic forces it. It also keeps a player's entries as far apart in the bracket as it can β€” two entries of one player sit in opposite halves, so they can only meet in the final.

πŸ“Œ The bracket and the field are pinned as it starts.

#1 alice bob carol #2 alice champion

Each match comes to the players

Both are pinged. Only they can press it.

βš” Round 1 Β· Match 2 β€” Summer Cup

@alice Won

vs

@bob Won

The result is confirmed, not claimed

Either player presses the winner's name. Claiming your own win brings the card back to the bottom of the thread for your opponent to Confirm or Dispute; conceding settles it there and then. An organizer can settle either way. Whoever claimed a win can never confirm their own claim.

alice claimed the win. Waiting on an organizer to confirm.

ConfirmDispute

A champion, and the bracket pinned

πŸ† Summer Cup β€” @alice takes it with #1 alice.

πŸ“Œ Pinned, with the final bracket image.

🧾 Summer Cup β€” what everyone owes

$5 an entry Γ— 8 entries = $40

@rich β€” $15 Β· 3 entries (1 own, 2 for @alice)

If someone drops out mid-bracket, their seats can be handed to a substitute rather than settled as walkovers.

Every tournament command β†’

An olympics: the bot plays the matches

The same bracket, settled differently. Nobody reports a result, because there is nothing to report β€” each match is dealt as a dice game in the thread, and the winner advances the moment it lands.

Opened as an olympics

/tour create name:Summer Games size:16 style:olympics

πŸ₯‡ Olympics tournament

Summer Games

The bot plays every match as a dice game in this thread β€” nothing to report. Roll within 10 minutes or the bot rolls for you.

The thread is tagged [Olympics] and the pinned card says so at the top, so nobody joins expecting to report a result. Everything else is unchanged β€” joining, check-in, the draw, the bracket image, substitutes.

Round one is dealt, then opened all at once

🎲 High Roll β€” @alice vs @bob

Quarterfinal Β· Match 1 Β· Rolling 1–100 Β· highest wins

🎲 alice🎲 bobℹ️ Info

🏁 Every match card is unlocked β€” Summer Games has officially started! Best of luck, everyone.

In a big bracket the cards take a minute to arrive, so their Roll buttons stay off until every match is out. A message under the cards then says they're being unlocked, and it changes to the one above when every button is live. Each match is one card, with each player's server profile picture beside their name and a Roll button for each of them. Press yours and the same card shows your number; your opponent rolls on it too. Which game a heat plays is drawn by the bot, from the four one-roll games β€” Death Roll takes a lot of rolls, and a thread of sixteen of them at once is unreadable.

The winner advances on its own

πŸ† High Roll

Quarterfinal Β· Match 1

πŸ‘‘ @alice β€” 88
πŸ’€ @bob β€” 31

The same card becomes the result β€” nothing else is posted for the match. The bracket moves, and the next match is dealt as soon as both its players are known. Nobody confirms anything.

The finalists pick the final

πŸ† Final β€” best of three

@alice β€” βœ“ picked
βš”οΈ
@carol β€” picking…

Each of you picks one game. The third is drawn by the bot from the games neither of you picked.

High RollLow RollFar RollClose RollDeath Roll

Picks stay secret until both are in, then the card shows all three games: alice's pick, carol's pick, and the drawn decider. Each is played on its own card like any match, the pick card keeps the score, and the first to two wins is champion β€” crowned in the thread beside their server profile picture. Nobody picks in time? The bot draws one for them. The final's games have no deadline β€” they're played at the finalists' pace.

Somebody who never rolls

⏰ Out of time β€” the bot rolled for @bob.

Each match has its own deadline β€” ten minutes, unless the organizer sets another. Past it, the bot rolls for whoever hasn't β€” one player or both. If that ties, the bot rolls again for whoever was away; a player who was there rolls their own re-roll, on a fresh deadline. Nobody is knocked out without dice being rolled for them, and nobody has to wait for an organizer. The final has no deadline.

Every draw is checkable

The tournament seals a secret when it opens and publishes it when it ends, so which game each match drew can be recomputed by anyone β€” the same proof the dice themselves carry.

Every tournament command β†’

One roll each

Four games, one shape: both players roll once and a comparison decides it. Over in a single exchange, which is the whole point.

Pick the comparison

/roll hi highest wins Β· /roll lo lowest wins Β· /roll far furthest from 50 Β· /roll close nearest 50.

🎲 Close Roll

@alice
βš”οΈ
@bob

πŸ’° Wager 100 Β· Rolling 1–100
🎁 Playing for: a Steam key
one roll each, closest to 50 wins

AcceptDeclineℹ️ Info

Both roll, once

@alice rolled between 1–100

48

@bob rolled between 1–100

85

The comparison decides it

πŸ† Close Roll

πŸ‘‘ @alice β€” 48 (2 from 50)
πŸ’€ @bob β€” 85 (35 from 50)

πŸ’° @alice wins 100 off @bob!
🎁 Playing for: a Steam key

A tie rolls again β€” including two different rolls the same distance from 50, like 30 and 70. Add best-of:3 to play first to two games for one wager.

Every dice command β†’

A duel, start to bust

Someone throws down

/roll dr user:@bob wager:100 item:a Steam key β€” leave the wager out for nothing but pride, and the item out if you are not playing for a thing.

🎲 Death Roll

@alice
βš”οΈ
@bob

πŸ’° Wager 100 Β· Start 100
🎁 Playing for: a Steam key
K4M2QP

AcceptDeclineℹ️ Info

Each player's messages carry their own colour down the left edge, so a busy channel can be read by its stripes rather than by re-reading names.

Both roll for who goes first

Each on their own message, each with their own button β€” and only the player it names can press it.

🎲 @alice rolled 57 for first turn.

πŸ”΄ 1st β€” takes the first turn

🎲 @bob rolled 22 for first turn.

πŸ”΅ 2nd β€” rolls second

πŸ”΄ and πŸ”΅ mark the order, not a podium: going first is the worse seat, which is why the order is drawn rather than given away. See Fairness.

The ceiling falls

Each turn rolls 1 to the last number rolled. The range only ever narrows.

🎲 @alice rolled 42 from 1–100. Now rolling 1–42.

🎲 @bob rolled 9 from 1–42. Now rolling 1–9.

🎲 @alice rolled 3 from 1–9. Now rolling 1–3.

Someone rolls a 1

πŸ’€ @bob rolled 1 from 1–3. Bust!

πŸ† Death Roll over

πŸ‘‘ @alice
πŸ’€ @bob β€” rolled a 1

πŸ’° @alice wins 100 off @bob!
🎁 Playing for: a Steam key

The bot settles the wager. The item is between the two of you β€” it only carries the words, so everyone can see what was agreed.

Nobody is left hanging

A duel with no roll for a day closes itself. Nothing settles β€” the wager does not move β€” and the sealed secret is published so the duel stays checkable. See Fairness.

βŒ› Duel K4M2QP closed β€” no roll in a while. Nothing settled, no P&L changed.

The score is a record, not a wallet

Wagers move a notional per-server score β€” no money, nothing to buy, nothing to cash out. /roll stats shows yours; /roll top ranks the room by wins.

@alice β€” Death Roll

Wins 12 Β· Losses 4 Β· Played 16 Β· P/L +450

Or make it best of three

Add best-of:3 to any dice game and the first to win two takes it. The wager is for the whole series and moves once, at the end. Each duel starts again from the agreed number, with its own roll for first turn, and a card between duels keeps the score.

🎲 Death Roll β€” duel 1 of 3

πŸ‘‘ @alice
πŸ’€ @bob β€” rolled a 1

@alice leads 1–0
Next duel from 100 β€” roll for first turn

The series counts once on the boards: win it 2–1 and your record gains one win, not two.

Every Death Roll command β†’

A poker night, arranged

The one thing on this page 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 everything around it, which is the part that actually goes wrong in a Discord channel.

An organizer opens it

/poker create cost:$20 pay:paypal.me/host prize:The pot. The card takes joins, and it is reposted every time somebody takes a seat β€” so it stays near the bottom of the channel instead of scrolling away under everything else being said.

♠️ Friday Poker Β· P4M2Q

πŸ’° Buy-in: $20
πŸ’³ Pay: paypal.me/host
🎁 Prize: The pot

Players β€” 3/50
1. @host
2. @alice
3. @bob

♠️ Joinℹ️ Info

Check-in chases the money

/poker checkin pings everybody and posts a card with one button per player. You press your own once you have paid; the host can press anybody’s, for whoever hands over cash at the door. Run it again to chase whoever is left.

πŸ”” Friday Poker β€” check in

πŸ’° $20 each Β· πŸ’³ paypal.me/host

Paid β€” 2 of 3
βœ… @host
βœ… @alice
⬜ @bob

βœ… hostβœ… aliceπŸ’Έ bobπŸͺ¦ Busted

Nothing is verified. The bot never touches the money β€” it records that a human said it arrived, and who said so.

The order builds itself as people bust out

Every position is worth points, so the whole field gets ranked β€” and the cheapest moment to record who went out is the moment they go out. The host presses Busted and picks them; they take the lowest position still free.

πŸ”” Friday Poker β€” check in

Out so far
3rd β€” @bob Β· 🎯 1
2nd β€” @host Β· 🎯 2

3 played, so 3 points for the win.

Forgot to press it? /poker complete gives you a button per player instead, or Type the order takes the whole finishing order as seat numbers β€” 3,1,2. The last player is placed for you, and Undo takes back the last result.

The night becomes a record

/poker complete ends it. The card names everybody, where they finished and what it was worth β€” at a table of N the winner takes N points and last takes 1.

πŸ† Friday Poker β€” final

πŸ₯‡ @alice Β· 🎯 3
πŸ₯ˆ @host Β· 🎯 2
πŸ₯‰ @bob Β· 🎯 1

🎁 Prize: The pot
3 played Β· hosted by @host

It stays on the record

/poker profile reads month by month; /poker leaderboard ranks the server by participation points, over all time or one month. So somebody who turns up every week and finishes mid-table can out-rank somebody who won twice and stopped coming. A night that was cancelled counts for nothing at all.

♠️ Poker β€” @alice

🎯 96 points · played 9
πŸ₯‡ 3 Β· πŸ₯ˆ 1 Β· πŸ₯‰ 0

09/2026 🎯 48 Β· played 4 Β· πŸ₯‡ 2
08/2026 🎯 48 Β· played 5 Β· πŸ₯‡ 1

Months are cut in Eastern time, so a game that runs past midnight still belongs to the evening it was played.

Every poker command β†’

Pick a game above to watch it play out.