Skip to content

Moderation

On by default

Ban, kick, mute and warn with reasons, durations and a numbered case for every action. Members get a DM with the reason (and an appeal link for bans), and your mod log keeps the full history.

On this page
  1. Open the dashboard and pick your server. Sign in with Discord if you haven’t.
  2. Find Moderation in the module list. It’s already on in new servers.
  3. Go through the settings below. Simple mode shows the essentials; switch to Advanced for the rest.
  4. Try it in Discord: /ban. Staff can restrict or turn off each command in Commands.

Tips

  • Pick a mod log channel so every case lands in one place.
  • Set autopunish rules, such as a 1-hour mute at 3 warnings.
  • Use /case and /reason to fix a reason after the fact; the log message updates too.
  • Reply to a message with ?warn (or use Punish… on it) and that message becomes the case’s verified proof.
  • Add predefined reasons with short aliases, then type the alias as the reason.
  • Clean up a raid with /mass: ban, kick, mute or warn a list of members, everyone whose name matches, or everyone who joined in the last few minutes. You see who it hits before you confirm.
  • Members can report a message or a member with Apps → Report to moderators. Reports land in your report channel with Accept and Ignore buttons.
  • Link with a partner server on the Moderation page to see each other’s cases, read-only. Both sides agree, and either can unlink.

SettingsLink to this section

What you’ll find on the Moderation page of the dashboard. Settings marked Advanced only show in Advanced mode.

General

Mod log channelChannel
Every ban, kick, mute and warning is posted here as a case.
Report channelAdvancedChannel
Where /report and the Report message action go. Leave empty to use the mod log channel.
Show the reason in repliesAdvancedOn/off
Audit log reasonText
Leave empty for “moderator (id): reason”. Variables: {author.id}, {author.tag}, {duration}, {reason}, {date}.

Mutes

Mute withChoice
Timeout uses Discord’s built-in timeout. A Muted role also works in voice.
Muted roleRole
Used in role mode. Kovu can create and set it up for you.
Remove other roles while mutedAdvancedOn/off
Roles come back when the mute ends.
Default mute lengthAdvancedDuration
Used when no duration is given. Empty = until unmuted.

Direct messagesAdvanced

What members are told when they are punished.

DM members when they are bannedOn/off
DM members when they are softbannedOn/off
DM members when they are kickedOn/off
DM members when they are mutedOn/off
DM members when they are warnedOn/off
Include the reasonOn/off
Name the moderatorOn/off
Add the appeal link to ban DMsOn/off
Appeal linkText
Leave empty to use Kovu's appeal form when the Appeals module is on.
DM about punishments outside KovuOn/off
Bans, kicks and timeouts from Discord’s menus or other bots. Needs View Audit Log.
DM when they are lifted outside KovuOn/off
Unbans and removed timeouts from Discord’s menus or other bots.

BansAdvanced

Keep messages when banningOn/off
Delete messages from the lastDuration
Up to 7 days. Used when messages are not kept.
Softban deletes messages from the lastDuration

EvidenceAdvanced

What Kovu keeps on a case by itself, and where proof shows.

Capture verified proofOn/off
Keep the member’s last message on the case (or the message you replied to or used “Punish…” on).
Keep their recent messagesOn/off
Their last 5 messages in each channel, on the case.
Keep their deleted messagesOn/off
What they deleted in the last 30 minutes. Needs message logs in the action log.
Keep captured messages for (days)Number
From 7 to 365 days after the case. Then Kovu removes the messages it captured; the case, its reason and your own proof stay. Default 90.
Delete the proof messageOn/off
Delete the message you replied to or used “Punish…” on, after punishing.
Show the proof in commandsOn/off
Show verified proof and messages in commandsOn/off
Name the moderator in commandsOn/off
Add the proof to the DMOn/off
Add verified proof to the DMOn/off

Predefined reasons

Predefined reasonsSetting
Type the alias as the reason (or pick it in the slash command) and the case gets the full reason.

Checks before punishingAdvanced

Review bans firstOn/off
Review kicks firstOn/off
Review mutes firstOn/off
Review warnings firstOn/off
Confirm a repeat punishmentOn/off
Ask before punishing someone again the same way while their last case is recent.
Recent means withinDuration
Bans need a reasonOn/off
Kicks need a reasonOn/off
Mutes need a reasonOn/off
Warnings need a reasonOn/off

Immune rolesAdvanced

Members with these roles can’t be punished through Kovu.

Use role hierarchyOn/off
Moderators can only punish members whose highest role is below theirs. Off: moderators can also punish members ranked above them (except protected and immune roles). Kovu’s own role must still be above the member, and mass actions always use the hierarchy.
Immune to everythingRoles
Protected roles in Bot Settings also count.
Immune to bansRoles
Immune to kicksRoles
Immune to mutesRoles
Immune to warningsRoles

Autopunish

AutopunishSetting
Punish members automatically when they reach a number of warnings.

Lockdown

Lockdown channelsChannels
Channels locked and unlocked together by lockdown.
Lock messageAdvancedText with variables
Posted when lock or lockdown closes a channel (unless the command gives its own). Variables: {channel}, {duration}, {moderator}. Empty = no message.
Unlock messageAdvancedText with variables
Posted when a channel opens again. Variables: {channel}, {moderator}. Empty = no message.

Member reports

Reports go to the report channel (or the mod log) with Accept and Ignore buttons. The Reports tab lists them.

Accept member reportsOn/off
Members report a message or a member with “Report to moderators”, /report or the report prefix command.
Ping a roleRole
Mentioned with every new report. Leave empty for no ping.
When a report is acceptedChoice
The case Kovu opens against the reported member.
Mute lengthDuration
Used when accepting mutes. Empty = the default mute length.
Delete the reported message on acceptOn/off
Tell the reporter when it’s acceptedOn/off
Tell the reporter when it’s ignoredAdvancedOn/off
Members who can’t reportAdvancedMembers
Moderators can add a member here from a report with “Block reporter”.
Roles that can’t reportAdvancedRoles
Reports per memberAdvancedNumber
How many reports one member may send in the window below.
Window (minutes)AdvancedNumber

Custom repliesAdvanced

Ban replyText with variables
Leave empty for the default. Variables: {user}, {reason}, {duration}, {case}.
Unban replyText with variables
Leave empty for the default. Variables: {user}, {reason}, {duration}, {case}.
Softban replyText with variables
Leave empty for the default. Variables: {user}, {reason}, {duration}, {case}.
Kick replyText with variables
Leave empty for the default. Variables: {user}, {reason}, {duration}, {case}.
Mute replyText with variables
Leave empty for the default. Variables: {user}, {reason}, {duration}, {case}.
Unmute replyText with variables
Leave empty for the default. Variables: {user}, {reason}, {duration}, {case}.
Warn replyText with variables
Leave empty for the default. Variables: {user}, {reason}, {duration}, {case}.

CommandsLink to this section

Each command works as a slash command and with your server’s prefix. Staff can restrict or turn off any of them in Commands.

/ban

Moderators

Ban a member or user, optionally for a while

/ban <user> [duration] [reason] [delete_days] [preserve_messages] [no_appeal]?ban [save] <user> [duration] [reason] [--delete-days 0-7] [--no-appeal]
6 options
user
Member or user ID to ban
duration (optional)
How long, like 7d (leave empty for a permanent ban)
reason (optional)
Why (shown in the mod log and audit log)
delete_days (optional)
Days of their messages to delete (0-7)
preserve_messages (optional)
Keep their messages (same as "ban save")
no_appeal (optional)
Leave the appeal link out of the DM
Examples
  • ?ban @troll 7d spamming invites
  • ?ban save @troll raiding
  • ?ban 123456789012345678 alt account --no-appeal

/case

Moderators

Show a moderation case or add proof to it

/case view <case> [server]/case proof <case> [proof]?case <case> [linked server] | proof <case> [proof]
4 options
view case
Case number
view server (optional)
A linked server, to look up its case instead (read-only)
proof case
Case number
proof proof (optional)
Text or a message link (empty = clear it)
Examples
  • ?case 42
  • ?case proof 42 https://discord.com/channels/1/2/3

/clean

Moderators

Delete Kovu's recent replies and the commands that triggered them

/clean [count]?clean [count]

Also works as ?cleanup

1 option
count (optional)
How many messages to delete (default 50)
Examples
  • ?clean
  • ?clean 20

/clearnotes

Moderators

Delete every note on a member

/clearnotes <user>?clearnotes <user>
1 option
user
Member or user ID
Examples
  • ?clearnotes @alex

/clearwarn

Moderators

Clear all of a member's warnings

/clearwarn <user>?clearwarn <user>

Also works as ?clearwarns

1 option
user
Whose warnings to clear
Examples
  • ?clearwarn @troll

/deafen

Moderators

Server-deafen a member in voice

/deafen <user> [reason]?deafen <user> [reason]
2 options
user
Member to deafen
reason (optional)
Why (shown in the mod log and audit log)
Examples
  • ?deafen @noisy

/delnote

Moderators

Delete a note

/delnote <user> <note>?delnote <user> <note>
2 options
user
Member or user ID
note
Note number (from notes)
Examples
  • ?delnote @alex 2

/delwarn

Moderators

Delete a warning by its case number

/delwarn <case>?delwarn <case>

Also works as ?deletewarn, ?removewarn

1 option
case
Case number of the warning
Examples
  • ?delwarn 42

/diagnose

Managers

Explain why a command or module isn't working in this channel

/diagnose [target]?diagnose [command or module]
1 option
target (optional)
Command or module to check (empty = overview)
Examples
  • ?diagnose
  • ?diagnose ban
  • ?diagnose automod

/duration

Moderators

Change how long a tempban, mute or temporary role lasts

/duration <case> <duration>?duration <case> <duration>
2 options
case
Case number of the punishment
duration
New length from when it started, like 2h, or "permanent"
Examples
  • ?duration 42 3d
  • ?duration 42 permanent

/editnote

Moderators

Edit a note

/editnote <user> <note> <text>?editnote <user> <note> <text>
3 options
user
Member or user ID
note
Note number (from notes)
text
New text
Examples
  • ?editnote @alex 2 now a helper

/ignored

Moderators

List the channels, roles and members Kovu ignores

/ignored?ignored
Examples
  • ?ignored

/kick

Moderators

Kick a member from the server

/kick <user> [reason]?kick <user> [reason]
2 options
user
Member to kick
reason (optional)
Why (shown in the mod log and audit log)
Examples
  • ?kick @troll being rude

/lock

Moderators

Stop @everyone from sending messages in a channel

/lock [channel] [duration] [message]?lock [channel] [duration] [message]
3 options
channel (optional)
Channel to lock (empty = this one)
duration (optional)
Unlock automatically after this long, like 30m
message (optional)
Message posted in the channel
Examples
  • ?lock
  • ?lock #general 30m raid

/lockdown

Moderators

Lock or unlock every lockdown channel at once

/lockdown start [duration] [message]/lockdown end [message]?lockdown [duration] [message] | end [message]
3 options
start duration (optional)
End the lockdown automatically after this long
start message (optional)
Message posted in each channel
end message (optional)
Message posted in each channel
Examples
  • ?lockdown
  • ?lockdown 1h raid
  • ?lockdown end

/mass

Managers

Ban, kick, mute or warn many members at once, after a preview

/mass ban <users>/mass kick <users>/mass mute <users>/mass warn <users>/mass by-name <action> <text> [match]/mass by-time <action> <kind> <within>/mass status/mass cancel?mass ban|kick|mute|warn <users…> | by-name <action> <text> | by-time <action> <kind> <within>
10 options
ban users
Members: mentions or user IDs separated by spaces
kick users
Members: mentions or user IDs separated by spaces
mute users
Members: mentions or user IDs separated by spaces
warn users
Members: mentions or user IDs separated by spaces
by-name action
What to do to each member
by-name text
Text to look for in usernames, display names and nicknames
by-name match (optional)
How the name must match (default: contains)
by-time action
What to do to each member
by-time kind
Look at when they joined or when their account was made
by-time within
How far back, like 10m or 2h (up to 30 days)
Examples
  • ?mass ban @raider1 @raider2 raid
  • ?mass status

?massban

Managers

Prefix form of /mass ban

?massban <users…> [duration] [reason]
1 option
users
Members: mentions or user IDs separated by spaces
Examples
  • ?massban @one @two 7d raid

?masskick

Managers

Prefix form of /mass kick

?masskick <users…> [reason]
1 option
users
Members: mentions or user IDs separated by spaces
Examples
  • ?masskick @one @two spam

?massmute

Managers

Prefix form of /mass mute

?massmute <users…> [duration] [reason]
1 option
users
Members: mentions or user IDs separated by spaces
Examples
  • ?massmute @one @two spam

?masswarn

Managers

Prefix form of /mass warn

?masswarn <users…> [reason]
1 option
users
Members: mentions or user IDs separated by spaces
Examples
  • ?masswarn @one @two spam

/members

Moderators

List the members who have a role

/members <role>?members <role>

Also works as ?inrole

1 option
role
Role to list
Examples
  • ?members @Helpers

/moderations

Moderators

List active timed punishments (tempbans, mutes, temporary roles)

/moderations [user]?moderations [user]
1 option
user (optional)
Only this member
Examples
  • ?moderations
  • ?moderations @troll

/modlogs

Moderators

Show the moderation history of a member

/modlogs <user>?modlogs <user>

Also works as ?modlog

1 option
user
Member or user ID
Examples
  • ?modlogs @troll

/modstats

Moderators

Moderation stats for a moderator or the whole server

/modstats [moderator]?modstats [moderator]
1 option
moderator (optional)
Moderator (empty = everyone)
Examples
  • ?modstats
  • ?modstats @alex

/mute

Moderators

Mute a member (timeout or the Muted role)

/mute <user> [duration] [reason]?mute <user> [duration] [reason]
3 options
user
Member to mute
duration (optional)
How long, like 10m or 1h (empty = the default length)
reason (optional)
Why (shown in the mod log and audit log)
Examples
  • ?mute @loud 30m spamming emotes

?nameban

Managers

Prefix form of /mass by-name with ban (-f for a full name match)

?nameban <text> [-f]
1 option
text
Text to look for in names
Examples
  • ?nameban free nitro
  • ?nameban spambot -f

/note

Moderators

Add a private moderator note to a member

/note <user> <text>?note <user> <text>
2 options
user
Member or user ID
text
The note
Examples
  • ?note @alex asked about becoming a helper

/notes

Moderators

Show the moderator notes on a member

/notes <user>?notes <user>
1 option
user
Member or user ID
Examples
  • ?notes @alex

/reason

Moderators

Change a case's reason (updates the mod log too)

/reason <case> <reason>?reason <case> <reason>
2 options
case
Case number
reason
New reason
Examples
  • ?reason 42 posting scam links

/report

Everyone

Report a member to the moderators

/report <user> <reason>?report <user> <reason>
2 options
user
Who you are reporting
reason
What happened
Examples
  • ?report @scammer sent me a fake nitro link

/rolepersist

Moderators

Keep a role on a member even if they leave and rejoin (toggles)

/rolepersist <user> <role> [reason]?rolepersist <user> <role> [reason]
3 options
user
Member or user ID
role
Role to keep
reason (optional)
Why (shown in the mod log and audit log)
Examples
  • ?rolepersist @troll Muted

/softban

Moderators

Ban and unban a member to delete their recent messages

/softban <user> [reason] [delete_days]?softban <user> [reason]
3 options
user
Member to softban
reason (optional)
Why (shown in the mod log and audit log)
delete_days (optional)
Days of their messages to delete (0-7)
Examples
  • ?softban @spammer link spam

/temprole

Moderators

Give a member a role for a limited time

/temprole <user> <duration> <role> [reason]?temprole <user> <duration> <role> [reason]
4 options
user
Member who gets the role
duration
How long, like 1d
role
Role to give
reason (optional)
Why (shown in the mod log and audit log)
Examples
  • ?temprole @helper 7d @Helpers covering events
  • ?temprole @alex 2h "Quiz Winner" won the quiz

?timeban

Managers

Prefix form of /mass by-time with ban: members who joined within a time

?timeban <within> [joined|created]
2 options
within
How far back, like 10m
kind (optional)
joined (default) or created
Examples
  • ?timeban 10m
  • ?timeban 2h created

/unban

Moderators

Lift a ban

/unban <user> [reason]?unban <user> [reason]
2 options
user
User or user ID to unban
reason (optional)
Why (shown in the mod log and audit log)
Examples
  • ?unban 123456789012345678 appeal accepted

/undeafen

Moderators

Remove a server deafen

/undeafen <user> [reason]?undeafen <user> [reason]
2 options
user
Member to undeafen
reason (optional)
Why (shown in the mod log and audit log)
Examples
  • ?undeafen @noisy

/unlock

Moderators

Unlock a locked channel

/unlock [channel] [message]?unlock [channel] [message]
2 options
channel (optional)
Channel to unlock (empty = this one)
message (optional)
Message posted in the channel
Examples
  • ?unlock
  • ?unlock #general all clear

/unmute

Moderators

Unmute a member

/unmute <user> [reason]?unmute <user> [reason]
2 options
user
Member to unmute
reason (optional)
Why (shown in the mod log and audit log)
Examples
  • ?unmute @loud

/warn

Moderators

Warn a member

/warn <user> [reason]?warn <user> [reason]
2 options
user
Member to warn
reason (optional)
Why (shown in the mod log and audit log)
Examples
  • ?warn @troll no NSFW in #general

/warnings

Moderators

List a member's warnings, or the latest warnings in the server

/warnings [user]?warnings [user]

Also works as ?warns

1 option
user (optional)
Whose warnings (empty = everyone)
Examples
  • ?warnings @troll
  • ?warnings

Ready to try Moderation?

Pick your server, turn it on and save. Changes reach Discord in seconds.

We use Google Analytics to see which pages and features get used. It never gets your Discord ID, server names or messages. No ads, and we don’t sell your data. Read our Cookie Policy.