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

Before you start

The setup, step by step

1

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 Members and Timeout Members, for the sanctions.
  • View Audit Log, so bans and timeouts done by hand in Discord reach the record.
  • Manage Messages, for /purge and for anti-spam to delete what it catches.
  • Manage Channels and Manage Roles, for /slowmode and 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.

2

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.
3

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.

4

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.

5

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.

6

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 on turns newcomers away and, if the bot has Manage Server, pauses your invites.
  • /lockdown on stops @everyone from writing in every channel. /lockdown off puts 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.

7

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.
  • /warn the test account. It gets a DM with the reason; a card appears in #mod-log.
  • /timeout it for 10m. It can no longer write.
  • On the dashboard, open Moderation → Sanctions, find the timeout and press Lift. The test account can write again, and the log says who lifted it.
  • Run /modview on 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

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.

Appeals, escalation (for example 3 warnings → 1-hour timeout) and automatic raid detection are part of Premium. Sanction commands, the record, the log, DMs, reports, anti-spam, raid mode by hand and lockdown are on the free plan. See pricing.

Beyond the basics

Three other SUPREO features catch what rules cannot, and they write into the same record:

When something does not work

The full reference is in the docs: moderation overview, sanctions, reports, appeals, anti-spam and anti-raid. Still stuck? Ask on the SUPREO support server.

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.