Guide · 9 minutes
How to set up moderation on Discord
Moderation fails quietly. A ban nobody wrote down, a warning given twice, a report lost in a DM, a raid that hits at 3 a.m. while every moderator sleeps. Here is how to set up moderation in SUPREO so every sanction is on record, members have a way to flag problems and contest mistakes, and the server defends itself when nobody is watching.
One record for everything
The single most useful thing a moderation setup gives you is memory. When a member comes back with a third account, or argues that their ban was unfair, you want to see everything that ever happened to them in one place, numbered and dated.
That is how SUPREO works. Every sanction becomes a numbered case: the ones your moderators give with a command, the ones anti-spam or the honeypot hand out on their own, and even the bans and timeouts someone does by hand in Discord. One counter per server, one list on the dashboard, one /modview per member.
What you will have at the end
- Sanction commands —
/warn,/timeout,/kick,/softban,/ban,/tempban,/unban,/purge,/slowmode— and the same from a right-click on a member. - A staff log with a card for every case, and a DM to the member saying what happened and why.
- Reports: any member can flag a message or a member to your staff, privately.
- Automatic defences: anti-spam rules, raid mode for waves of joins, and a lockdown you can undo exactly.
- Appeals (Premium): sanctioned members contest a case, and accepting it lifts the sanction.
Before you start
- SUPREO on your server and
Manage Serverthere, so you can open its dashboard. If the bot is not in yet, add it — it also runs your tickets, see how to set up a Discord ticket bot. - Ten minutes, and a second Discord account to test with. A friend's alt works too.
The setup, step by step
Give the bot its moderation permissions
New invites ask for everything moderation needs. If SUPREO joined your server before, open Server Settings → Roles, pick the bot's role and grant:
Kick Members,Ban MembersandTimeout Members, for the sanctions.View Audit Log, so bans and timeouts done by hand in Discord reach the record.Manage Messages, for/purgeand for anti-spam to delete what it catches.Manage ChannelsandManage Roles, for/slowmodeand the lockdown.
Then drag the bot's role above the roles of the members it will sanction. Discord never lets a bot act on someone ranked at or above it, and this is the most common reason a ban fails. The dashboard's moderation pages list any permission still missing.
Create a staff-only log channel
Create a channel such as #mod-log that only your staff can read. On the dashboard, open Moderation → Sanctions and pick it as the Moderation log channel. Every case, every lifted case and every edited reason gets a card there, with the member, the moderator, the reason, the length and whether the member was told.
Three more settings sit next to it:
- Tell the member by DM — on by default. Members who know why they were sanctioned argue less and repeat less.
- Name the moderator in that DM — off by default, so moderators are not harassed for doing their job.
- Require a reason — turn it on. A case without a reason is useless three months later.
Decide who moderates
By default, Discord shows each command to members with the matching permission: /ban to those who can ban, /warn and /timeout to those who can time out. If your moderators do not have those permissions on their role, add the role to the moderator group on the dashboard's Roles page; SUPREO then lets them use every moderation command.
To fine-tune who sees which command, use Discord's own Server Settings → Integrations → SUPREO. Nobody can sanction the owner, the bot, themselves, or someone ranked at or above them.
Turn on reports
Create a second staff-only channel, #reports, or reuse the log channel. On Moderation → Reports, turn on Let members report, pick the channel and, if you like, a role to ping.
Members now report with a right-click on a message or a member, or with /report. Each report is a card with a private thread under it, where staff discuss it. A reported message is copied into the report at once, so deleting it afterwards erases nothing. When several members report the same thing, they join one report instead of flooding the channel.
Turn on anti-spam
On Moderation → Anti-spam, switch it on. Six rules come ready, each with a sensible default:
- Flood — 6 messages in 5 seconds: timeout.
- Repeated messages — the same text 4 times in 30 seconds: deleted.
- Same message in several channels — the mark of a hacked account: timeout.
- Mass mentions — more than 5 in one message: timeout.
- Invites to other servers — deleted; your own invites are fine.
- Links — off by default; turn it on with a list of allowed sites.
What trips a rule is always deleted first; then the rule's action follows, and it becomes a case like any other. Your staff, administrators and members with Manage Messages are never checked.
Prepare for raids
A raid is dozens of accounts joining within seconds to spam every channel. You will not have time to read documentation when it happens, so set this up now. On Moderation → Anti-raid, choose what raid mode does to anyone who joins while it is on — kick them, time them out for 24 hours, or only alert — and how long it lasts before ending by itself.
Then remember two commands:
/raidmode onturns newcomers away and, if the bot hasManage Server, pauses your invites./lockdown onstops @everyone from writing in every channel./lockdown offputs each channel back exactly as it was — private channels stay private, read-only ones stay read-only.
With Premium, turn on Detect raids and raid mode starts by itself when a wave arrives (for example 10 joins within 10 seconds), including for the accounts that made the wave.
Test it with a second account
Five minutes now saves an embarrassing first ban:
- From the test account, right-click one of your messages and report it. The report lands in
#reports. /warnthe test account. It gets a DM with the reason; a card appears in#mod-log./timeoutit for10m. It can no longer write.- On the dashboard, open
Moderation → Sanctions, find the timeout and pressLift. The test account can write again, and the log says who lifted it. - Run
/modviewon the test account: its two cases and the report it sent.
Day to day
Most moderation happens with a right-click. On a member, Apps → Sanction opens a menu with every sanction and a short form for the reason and, for a timeout, the length. Lengths read naturally: 10m, 2h, 1d 12h, 1w.
Before sanctioning someone you do not know, run /modview on them, or right-click → Moderation record. You see their past cases, the reports about them and by them, their appeals and their tickets. A member with three warnings this month deserves a different answer than a first offence.
Softban for hacked accounts
When a friend's account gets hacked and posts a scam everywhere, /softban is the right tool: it bans and unbans at once, wiping their last 24 hours of messages. They can rejoin once they recover the account, and nobody has to remember to unban them.
When a raid hits
- First,
/raidmode on. New accounts stop arriving. - If spam keeps coming from accounts already in,
/lockdown on. - Clean up with
/purgein the worst channels, and/banthe accounts that got through (paste an ID to ban someone who already left). - Then
/lockdown offand/raidmode off, or let raid mode end by itself. Every channel is back as it was.
Appeals: let members contest a mistake
Moderators make mistakes, and a member banned by mistake should have a way back that is not a new account. With appeals on, the DM a sanctioned member receives carries a Contest button. Their appeal reaches your staff as a card with the case and their record, in a channel you choose, with a thread to discuss it. Accept lifts the sanction on Discord and tells the member; Reject keeps it; Ask a question lets you hear more first.
It works after a ban, too, when the member no longer shares a server with the bot: the buttons in the DM keep working, and members who lost the DM use your server's appeal link on the website. You choose which sanctions can be contested, how long after, and how many rejected appeals are enough.
Beyond the basics
Three other SUPREO features catch what rules cannot, and they write into the same record:
- Honeypot — a bait channel members are told never to write in. Spam bots write anyway, and are caught on their first message.
- Scam pictures — removes the fake casino and giveaway screenshots hacked accounts post in every channel.
- Verification — new members prove they are human before they can talk.
When something does not work
- "This member's highest role is equal to or above mine." Drag the bot's role above theirs in
Server Settings → Roles. - A moderator cannot see the commands. Discord hides them from members without the permission. Add their role to the moderator group on the Roles page and allow the commands for it in
Integrations, or have them use the right-click menu. - Bans done in Discord are missing from the record. The bot needs
View Audit Log. Bans from then on appear. - The log says the member was not told. Their DMs are closed. The sanction still applied.
Frequently asked questions
Do I still need a separate moderation bot?
Not for the usual work. SUPREO covers warnings, timeouts, kicks, bans and temporary bans, purges, slowmode, reports, appeals, anti-spam, raid mode and lockdown, next to its tickets. Fewer bots means fewer roles to order, fewer permissions to grant and one record instead of several.
Are bans done by hand in Discord recorded?
Yes, when the bot has View Audit Log. Bans, unbans, kicks and timeouts done in Discord itself, or by another bot, are added to the record with Discord as their origin, so the record stays complete.
Can I hide which moderator gave a sanction?
Yes, and that is the default. The DM a member gets says what, where and why, not who. Switch on Name the moderator in that DM if your server prefers to show it. The staff log always shows the moderator.
What happens if a member has their DMs closed?
The sanction still applies. The case and the log card say the member was not told. With appeals on, they can still contest from your server's appeal link on the website.
How can a banned member appeal if they share no server with the bot?
The Contest and Check my appeal buttons sit in the DM they received with the sanction, and each button names its server and case, so they keep working after a ban. Members who lost that DM use your appeal link and sign in with Discord.
Does anti-spam act on my staff?
No. Bots, the server owner, administrators, members with Manage Messages and your staff roles are never checked, and you can exempt more roles and channels.
Are there prefix commands?
No. Everything is slash commands and right-click menus, so Discord shows each command only to the members allowed to use it, and nothing depends on a prefix members can get wrong.
Put your server on record
Add the bot, sign in with Discord, and give your moderators one record, one log and a plan for the next raid.
Running support too? Read Discord modmail: support tickets in DMs.
