Moderation & safety

Build a Discord moderation team: roles, warnings, cases and appeals

How to build a Discord moderation team: the right roles and permissions, warnings with escalation, case files, member reports and fair ban appeals.

  • 8 min read
  • 6 steps
Contents

Once your Discord server reaches a certain size, you can no longer moderate it alone. That is when you need a moderation team, and with it come new questions: Who is allowed to do what? How do you see whether a member has already been warned three times? And what happens when a ban was unfair?

A good mod team has clear permissions, a shared case file and fixed processes for reports and appeals. This guide sets that up, first with Discord's own tools, then with Lizbot. By the end, your team has the right permissions, warnings with automatic escalation, a report channel and an appeal page for banned members.

What Discord already offers

Discord has the most important tools built in. You grant moderation permissions through roles in the server settings. The key ones are:

PermissionWhat it does
Moderate MembersGive and remove timeouts
Kick MembersRemove members from the server
Ban MembersBan and unban
Manage MessagesDelete and pin other people's messages
Manage ServerChange the server's settings
AdministratorEverything, without any restriction

The timeout is Discord's built-in mute: for the chosen time, the member cannot write, speak or react. It lasts at most 28 days and expires on its own. The audit log in the server settings shows who banned or kicked whom and who changed roles.

The role hierarchy matters: a moderator can only punish members whose highest role is below their own. The same applies to bots. Lizbot's role therefore has to sit above the roles it should moderate.

What Discord lacks is memory. The audit log shows no warnings, because Discord does not have warnings at all, and it does not tell you at a glance how often a member has caused trouble. This is where Lizbot comes in.

Plan the roles for your mod team

Before you hand out permissions, think about the levels. Three are enough for most communities:

  • Admin: the server owner and one or two trusted people. They manage the server and the team.
  • Moderator: warnings, timeouts, kicks and bans, handling reports and appeals.
  • Support or trial mod: answer tickets, but don't see punishments.

Grant Administrator as rarely as possible. A hijacked admin account can delete everything in seconds. The individual permissions from the table above are enough for day-to-day moderation.

1. Turn on moderation in Lizbot

Open your server in the dashboard and go to Moderation. In the General tab, turn on Moderation commands enabled and choose a Mod log channel. Lizbot posts every case there as an embed and updates it when something changes. Only your team should be able to see this channel.

Recommended settings to start with:

  • Turn on Reason required. A case without a reason helps nobody three weeks later.
  • Keep Notify affected members by DM on. You can adjust the DM template with the placeholders {guild}, {action}, {reason} and {duration}.
  • Set Delete messages on ban to 1 day if you want spam bans to clean up the history as well. Anything from 0 to 7 days is possible.

With Post staff handbook from template you can also post a ready-made handbook for your team into a channel. Adapt it to your rules afterwards.

2. Set team roles and dashboard permissions

Under Settings, in the Permissions section, enter your Admin roles and Mod roles. Mod roles can use Lizbot's moderation commands even if they have no moderation permissions in Discord. Members with Discord permissions such as Moderate Members, Kick Members or Ban Members automatically count as mods.

What each person sees in the dashboard is set under Team. There you tick individual permissions per Discord role, for example View cases, Create cases, Handle reports or Decide appeals. Without a custom setting the default applies: mod roles may do everything except manage, ticket roles handle tickets. Deleting cases stays with admins.

That way a trial mod might get only View cases and Handle reports, but no access to appeals yet. Under Team members you see everyone who has access. Keep in mind: anyone with moderation permissions in Discord always gets all mod permissions in the dashboard. You can't restrict that on the Team page, only in Discord itself.

3. Use warnings and cases

Every punishment becomes a case in Lizbot with a running number. In Discord your team uses these commands:

  • /warn warns a member
  • /timeout sets a Discord timeout, for example 10m, 2h or 3d
  • /untimeout removes it again
  • /kick, /ban, /softban and /unban for more serious cases; /ban with a duration bans temporarily
  • /note adds an internal note the member doesn't see

Use /case show to open a case, /case reason to correct the reason and /case list to see all cases of a member. It's even quicker to right-click a member and choose Apps and Show cases.

In the dashboard you find all cases under Cases & reports in the Cases tab. You can search by reason, user or case number, filter by type and see whether a case came from Discord, the dashboard or AutoMod. With New case you issue a punishment straight from the browser. Lizbot carries it out in Discord, including DM and mod log.

4. Set up automatic escalation

So that no mod has to count, add rules for Automatic escalation under Moderation in the Warnings tab. Each rule says: at exactly this many active warnings, this action happens. Timeout, kick and ban are available, up to ten rules.

A proven progression:

WarningsActionDuration
3Timeout60 minutes
5Timeout1440 minutes (1 day)
7Banempty (permanent)

For a timeout, always enter a duration; Discord allows at most 28 days. For a ban, an empty field means permanent, with a duration it becomes a temporary ban.

Warning decay belongs with it: under Warnings expire after you set after how many days a warning stops counting. 0 means they never expire. With 90 days, someone who slipped up once half a year ago gets a real second chance. Expired warnings stay visible as cases but no longer count towards escalation.

5. Accept reports from members

Your members see more than your team. With reports they can flag rule breaks without messaging a mod. In Moderation, Reports tab, choose a Report channel. Without a channel, reports are off. Under Ping on new reports pick the roles that should be notified.

Members then report with /report or by right-clicking a message and choosing Apps and Report message. Every report appears in the report channel with the buttons Resolve, Dismiss and Cases, plus a menu your team uses to warn, time out for 10 minutes up to 7 days, kick, ban or delete the reported message right away. Lizbot checks the real Discord permissions of whoever clicks.

In the dashboard all reports are listed under Cases & reports in the Reports tab, together with other reports against the same person.

6. Handle ban appeals fairly

Even good teams get it wrong sometimes. Appeals give banned members an orderly way back, instead of them returning with alt accounts. In Moderation, Appeals tab, turn on Allow appeals.

Lizbot automatically adds the link to the appeal page to the ban DM. There the banned person signs in with their Discord account and answers up to three questions you define. New appeals land in the Channel for new appeals or, if you don't choose one, in the mod log. Your team decides with the Unban or Reject button in Discord or in the dashboard under Appeals. The person learns the decision by DM, optionally with a message from the team.

Under Wait time after rejection you decide when a new appeal is possible. The default is 14 days.

Checklist

  • Lizbot's role is above all roles it moderates
  • A mod log channel is set and visible to the team only
  • Reason required is turned on
  • Admin and mod roles are entered under Settings
  • Dashboard permissions per role are checked under Team
  • Escalation rules and warning decay are set
  • A report channel is chosen
  • Appeals are on and the questions fit your server

Common mistakes

  • Too many admins: someone who needs moderation permissions does not automatically need Administrator. The fewer accounts can do everything, the smaller the damage from a hijacked account.
  • Punishments without a reason: without a reason, nobody can later understand why a member was banned, not even during an appeal.
  • Bot role too low: if Lizbot's role is below a member's role, every punishment against that person fails.
  • Escalation without decay: without decay, ancient warnings still count. That quickly feels unfair.
  • Timeout rule without duration: always enter a duration for timeouts in your escalation rules.

For protection against attacks from outside, read the guide on raid protection. How to catch rule breaks automatically is covered in setting up AutoMod.

FAQ

How many moderators does a Discord server need?

There is no fixed number. What matters is that someone is reachable during the times your server is active. Plan for a few reliable mods with clear permissions rather than many who are rarely online.

What is the difference between a timeout and a kick?

With a timeout, the member stays on the server but can't write or speak for a while. With a kick, they are removed from the server but can rejoin right away with an invite. For arguments and spam, a timeout is usually the better choice.

Do members see their warnings?

If Notify affected members by DM is on, the member gets a DM with the reason for a warning or punishment. Notes made with /note, on the other hand, are visible to the team only.

Can I change cases afterwards?

Yes. Change the reason with /case reason or in the dashboard under Cases, and the mod log entry is updated too. Only admins can delete cases, either with /case delete or in the dashboard.

Do appeals work if the banned person doesn't accept DMs?

Then the link doesn't arrive by DM. The appeal page itself is a normal web page, though. You can mention the link in your rules, for example; you find the address in the Appeals tab.

Matching Lizbot features

Let Liz handle it for you

Invite Lizbot, set it up in the dashboard, done. The Free plan stays free.