Setup
Adding the bot takes one click and Manage Server. Everything below is what
that click grants, and why each part of it is needed.
1. Approval
The bot does not respond in a server until its operator approves it. This
is deliberate: it is run by one person, and an unapproved server gets a
polite refusal naming who to ask rather than a bot that half works. If you
have just added it, see Contact — it lists what to
include so the request takes one message rather than three.
2. Permissions
Each one, and what stops working without it:
| Permission | What it is for |
| Send Messages | Posting match cards, duel prompts and results. |
| Send Messages in Threads | Tournaments live in their own threads; everything is posted there. |
| Create Public Threads | /tour create opens a thread per tournament. |
| Manage Threads | Reviving a thread that auto-archived during a slow round. |
| Embed Links | The tournament card, roster and profile are embeds. |
| Attach Files | The bracket is rendered as an image and uploaded. |
| Manage Messages | Pinning four things per tournament: the opening card, the field, the champion, the final bracket. Without it everything else works and the pins are skipped. |
Seven permissions, and no moderation powers: the bot cannot kick, ban,
manage roles, read your audit log, or see your member list. It does not ask
for “Use Application Commands” either — that permission governs whether
your members may use slash commands, and is yours to set, not the
bot's to hold.
3. The message-content intent
Death Roll is played by typing !dr, so the bot must be able to
read message text — Discord calls this the message content
intent, and it is the most invasive thing this bot asks for. It is
used for exactly one purpose: recognising that a message begins with
!dr.
A message that is not a !dr command is dropped immediately and
never stored. The Privacy Policy sets this out in
full, including the one case where a command's text reaches an error log.
If you do not want the bot reading messages at all, the tournament game
needs nothing privileged — it arrives entirely as slash commands and
buttons. Ask the operator to enable tournaments only for your server.
4. Who may run tournaments
Organizer commands need Manage Server, or a role you
nominate:
/config organizer-role role:@Organizers
Everything a player does — joining, checking in, reporting a win — needs no
role at all. Two commands are narrower still: confirming a reported result
belongs to the tournament's creator, not to every organizer, so a
role holder who is also playing cannot self-certify; and substituting a
player is limited to the creator or the operator.
5. Running your first one
/tour create name:Summer Cup size:16
/tour open-checkin
/tour start
The first opens a thread with a pinned card and a join code. Players join
with /tour join. open-checkin closes registration
and pings everyone to confirm they are present — spots that never check in
are dropped, which frees them. start draws the bracket and
pings round one.
A tournament starts full or not at all: a 16-slot bracket
needs 16 entries. Byes are how an awkward number is handled once the field
is fixed, not a way to start half-empty.
Troubleshooting
| Symptom | Usually |
| Commands do not appear in the picker | Global commands take up to an hour to propagate after an update. Restarting the Discord client often helps. |
| The bot says the server is not enabled | It has not been approved yet. Press Info and ask. |
!dr does nothing | Death Roll is not enabled for that server, or the message-content intent is off. |
| Nothing is pinned | The bot is missing Manage Messages — re-add it with the button above. |
| A match is stuck awaiting confirmation | An organizer can settle it with /tour admin force-win. |