How to set up moderation commands and a case log in Discord
Your team warns, times out, kicks and bans with slash commands, and every action becomes a numbered case in a channel you choose. Repeated warnings can lead to a timeout, a kick or a ban on their own.
Takes about 4 minutesFree, nothing needs Premium
What you will end up with
Every warning, timeout, kick and ban, and every lifted timeout or ban, lands in your log channel as a numbered case with the moderator and the reason. Actions that auto moderation and anti-bot take on their own are listed there too.
mod-log
ZombyIOAppToday at 14:32
Case #12 · Warning
@Alex
Moderator
@Sam
Reason
Rude to other members
ZombyIOAppToday at 14:32
Case #13 · Timeout
@Alex
Moderator
@ZombyIO
Reason
Auto moderation: Invites to other servers (discord.gg/free-nitro)
Where to find it
Open the dashboard, pick your server and choose Moderation in the sidebar (on a phone: under Features in the bar at the bottom). That is two clicks from your server list. You can also press Ctrl K anywhere in the dashboard and type the name.
In the dashboard, pick your server and choose Moderation in the sidebar. Moderation is switched on for every new server, so the switch in the coloured banner should already read Enabled.
When it is off, Discord still lists the commands, but every one of them only answers that moderation is switched off. Changes on this page, the switch included, are stored when you press Save in the bar at the bottom.
zomby.io/dashboard/…/moderationModerationEnabledWarn, mute, kick and ban from Discord, with every action kept as a numbered case.Set it upSwitch moderation onThe commands only work while it is on. When it is off, Discord still lists them, but they just reply that moderation is off.
2
Step 2: Pick a log channel for cases
Under Set it up, choose the channel for Pick the log channel. Use a staff channel your members cannot read. Every case is posted there as "Case #12 · Warning" with the member, the moderator and the reason, or "No reason given" when there was none.
Without a log channel the cases are still recorded and /cases still shows them, but nothing is posted anywhere.
Tip
If you used Quick Start with a server log, that channel is already filled in here. You can change it at any time.
zomby.io/dashboard/…/moderationSet it upPick the log channel#mod-logA staff channel. This is what turns arguments into a record.Every case is posted in #mod-log: warnings, timeouts, kicks, bans, unmutes and unbans, including the ones auto moderation, anti-bot and blueprints hand out on their own.
mod-log
ZombyIOAppToday at 14:32
Case #12 · Warning
@Alex
Moderator
@Sam
Reason
Rude to other members
3
Step 3: Decide whether members get a direct message
Send the member a direct message is on by default. The member then gets one sentence about what happened, for example "You were timed out on Your Server for 1 hour.", with the reason below it.
For a kick or a ban the message is sent first, while the member can still receive it. If Discord then refuses the kick or ban, the message is deleted again, so nobody is told they were banned when they were not.
Important
Members who do not accept direct messages from server members do not get it, and nobody is told that it failed.
zomby.io/dashboard/…/moderationTelling the memberWhether the person is told what happened and why.Send the member a direct messageThe member is told what happened and why.
4
Step 4: Choose what repeated warnings lead to
Under Automatic consequences, pick a ready-made ladder:
Warnings only: nothing happens on its own.
Gentle: a 1 hour timeout at the 3rd warning, a 1 day timeout at the 5th.
Balanced: a 1 hour timeout at the 3rd warning, a kick at the 5th, a ban at the 7th.
Strict: a 1 day timeout at the 2nd warning, a kick at the 3rd, a ban at the 4th.
A step fires the moment the warning with exactly that number is given, and the bot adds it to its answer in the channel. To build your own ladder, open Adjust the steps: up to five steps, each at 2 to 20 warnings, with a timeout of 10 minutes, 1 hour, 1 day or 1 week, a kick or a ban.
Important
Warnings do not expire and there is no command to withdraw one, so a member’s count only goes up. Warnings that auto moderation hands out are not counted here; auto moderation has its own points for repeat offenders.
zomby.io/dashboard/…/moderationAutomatic consequencesWarnings onlyNothing happens on its own. Moderators decide every step.GentleAfter 3 warnings: timed out for 1 hour. After 5 warnings: timed out for 1 day.BalancedAfter 3 warnings: timed out for 1 hour. After 5 warnings: removed from the server. After 7 warnings: banned.StrictAfter 2 warnings: timed out for 1 day. After 3 warnings: removed from the server. After 4 warnings: banned.Adjust the steps
general
S
SamToday at 14:32
/warn
ZombyIOAppToday at 14:32
@Alex was warned. Case #18.
That is warning 3, so @Alex is also timed out for 1 hour. Case #19.
5
Step 5: Use the commands in Discord
Type / in Discord. /warn, /mute, /unmute and /cases need the Timeout Members permission, /kick needs Kick Members, /ban and /unban need Ban Members. Discord hides a command from anyone without its permission.
The bot also follows Discord’s rank rule: you can only act on a member whose highest role is below yours, nobody can act on the server owner, and ZombyIO’s own role has to be above the member too. That applies to /warn as well. When something is refused, only you see why. When it works, the answer is posted in the channel for everyone, with the case number.
/mute takes a length such as 30m, 2 hours, 1 day or 1h30, in any of the five languages the bot speaks. Without one it mutes for 10 minutes; the longest is 28 days.
Tip
A number without a unit counts as minutes, so /mute with a length of 90 is 90 minutes.
Important
/ban does not delete the member’s earlier messages. See roles and permissions when the bot says its role is too low.
general
S
SamToday at 14:32
/mute
ZombyIOAppToday at 14:32
@Alex was muted for 1 hour. Case #20.
S
SamToday at 14:32
/ban
ZombyIOAppToday at 14:32
My highest role is not above theirs, so Discord will not let me. Move the ZombyIO role further up in the server's role list.
Only you can see this
6
Step 6: Look up a member’s history with /cases
/cases with a member shows their last 10 cases, newest first: case number, what happened, the reason and when. Only you see the answer.
The list includes what ZombyIO did on its own. A timeout, kick or ban by auto moderation, a warning from auto moderation, and every removal by anti-bot or raid defence is a case too, with ZombyIO as the moderator and a reason such as "Auto moderation: Invites to other servers" or "Anti-bot: posted in a trap channel". Those cases are posted in your log channel as well, even while Moderation itself is switched off.
general
S
SamToday at 14:32
/cases
ZombyIOAppToday at 14:32
Moderation history for @Alex
#20 Timeout · Spamming invite links (2 hours ago)
#19 Timeout · Automatic, after 3 warnings (2 hours ago)
#18 Warning · Spamming invite links (2 hours ago)
#15 Warning · Rude to other members (3 days ago)
#13 Timeout · Auto moderation: Invites to other servers (discord.gg/free-nitro) (3 days ago)
#12 Warning · Rude to other members (3 days ago)
Only you can see this
Every setting explained
In the order the page shows them. Names in bold are exactly what the dashboard calls each control.
Set it up
Pick the log channel
The channel every case is posted in, including the ones auto moderation and anti-bot create. Empty by default; then nothing is posted. ZombyIO needs View Channel, Send Messages and Embed Links there.
Switch moderation on
The same switch as the one in the banner. On by default. Off, the commands only reply that moderation is switched off and no warning ladder runs.
Telling the member
Send the member a direct message
On by default. Sends the member a short direct message with the reason for warnings, timeouts, kicks and bans, and when a timeout or ban is lifted. Only for your team’s commands, the warning ladder and the timeouts, kicks and bans your blueprints carry out; auto moderation and anti-bot never send it.
Automatic consequences
Ready-made ladders
Four cards: Warnings only, Gentle, Balanced and Strict. Each card lists its steps. Change a step by hand and the page shows Your own mix instead. Default: Warnings only.
Adjust the steps
Warnings
The warning a step fires at, from 2 to 20. Each number can only be used by one step, and a step fires only at exactly that warning, not at later ones.
Then
What happens: a timeout of 10 minutes, 1 hour, 1 day or 1 week, a removal from the server (kick) or a ban. The reason recorded is "Automatic, after 3 warnings", with the real number.
Add a step
Adds a 1 hour timeout at the next free number. Up to five steps. The bin icon on a row removes that step.
Commands
Type / in Discord and they appear, in each member’s own language. Only members with the permission shown can use a command.
Nothing in Moderation depends on the plan. Every part of it works the same on the free plan.
Something not working?
The problems people run into most often, and how to fix each one.
The bot says a role is too high
Two different answers:
"That member has a role at least as high as yours.": your highest role has to be above the member’s. This is the same rule Discord applies when you act by hand. Only the server owner can act on anyone.
"My highest role is not above theirs…": drag the ZombyIO role above the member’s highest role in Server Settings, Roles. This also applies to /warn.
Discord refused the timeout, kick or ban. ZombyIO is missing Timeout Members, Kick Members or Ban Members, or its role is below the member’s. No case is recorded for an action that did not happen. Server Check in your server’s sidebar names the missing permission.
Every command answers that moderation is switched off
The switch in the Moderation banner is off. Switch it on and press Save.
Nothing appears in the log channel
No channel is chosen under Pick the log channel.
ZombyIO cannot see the channel or post embeds there. It needs View Channel, Send Messages and Embed Links. Server Check shows this.
The cases are recorded either way, and /cases shows them.
The member did not get a direct message
Send the member a direct message is off, or the member does not accept direct messages from server members. Discord gives the bot no way around that, and the failure is not reported anywhere.
The automatic step did not happen
A step fires only at exactly its warning. A member who already had more warnings when you set up the ladder skips it.
Warnings given by auto moderation do not count towards this ladder.
The answer says "the automatic step did not work": ZombyIO’s role is below the member’s, or it lacks the permission for that step.
How do I take back a warning?
There is no command for that at the moment, and warnings do not expire. If one warning should not push somebody to the next step, change the numbers under Adjust the steps.
Ask in the ZombyIO support server. Bring your support ID, your server’s support ID and a sentence about what you expected to happen, and someone will look at it with you.