All guides

How to moderate a Discord server

Moderating a Discord server depends less on tools than on three decisions taken before any incident happens: what is forbidden, who decides, and what follows a repeat offence.

This guide describes an organisation that works for a server of a few dozen to a few thousand members, then the tools that automate it.

Last updated:

1. Write rules that can actually be applied

A rule is applicable when two different moderators, reading the same message, reach the same decision. "Be respectful" does not meet that bar; "no insults aimed at a person, no sexual content, no promoting other servers without prior agreement" does.

Five to eight rules are enough. Beyond that nobody reads them, and unenforced rules weaken the ones that matter: a server where one rule is visibly never applied becomes a server where the others get tested.

2. Set the role hierarchy

Discord forbids a member — and a bot — from acting on anyone whose highest role sits above their own. This is the source of the vast majority of "the bot doesn't respond" reports from administrators.

The order to respect, top to bottom: administrators, the bot's role, moderators, level and decorative roles, verified members, @everyone. The bot's role must sit above everything it needs to act on, including the roles it grants automatically.

3. Define a sanction scale

Without a written scale, the sanction depends on the mood of whichever moderator is present, and that is what members hold against a team most often. A common scale:

  • First minor breach: a public reminder, with no formal record.
  • Repeated or more serious breach: a recorded warning, with a reason.
  • Third warning: a temporary exclusion, or a kick depending on severity.
  • Illegal content, clear harassment, a raid: immediate ban, skipping the scale.

4. Keep a record

History is what lets you handle a repeat offence without reconstructing the facts each time. A warning kept with its reason, its author and its date answers on its own the question "is this the first time?", which determines the sanction.

With Eric, *warn @member reason records the warning and *getwarn @member shows the member's full history. Both commands require the Kick Members permission, which in practice reserves them for the team.

5. Automate what is mechanical

Auto-moderation handles the simple case: a message containing a term from the server's list triggers a warning and a notification, without waiting for a moderator to be online. That is what covers the quiet hours, when incidents most often happen with no witness.

It does not replace a moderator for anything else. A message can be hostile without containing any filterable term, and a filtered term can appear in a quotation or a joke between regulars. The list should stay short and target what is indefensible in context.

6. Organise the team

  • A staff-only channel, where moderation notifications land and contentious cases are discussed before a decision.
  • A reporting channel for members, distinct from direct messages to moderators, which leave no record the team can consult.
  • An explicit rule about which decisions need a second moderator's opinion — typically bans.
  • Enough moderators to cover the hours the server is actually active, rather than a long list of inactive roles.

Frequently asked questions

How many moderators does a Discord server need?

Coverage matters more than headcount. A server active in the evening needs moderators present in the evening. In practice two or three active moderators beat a dozen honorary, inactive ones.

Should a problematic member be kicked or banned?

A kick allows a return with an invite: it suits a member who oversteps without meaning harm. A ban, permanent until lifted, is for harassment, illegal content and raids.

Why can't my moderation bot sanction certain members?

Because their highest role sits above the bot's role in the server hierarchy. Discord then refuses the action, whichever bot it is. Move the bot's role above the roles concerned.