Discortics Logo
CommandsPremium
LOGIN

The next generation of Discord community management — maximising engagement in the quickest and most transparent way.

All guides

Modules guide

Moderation Module

Warn, mute, timeout, ban, kick, lock channels, purge messages, and browse case history from Discord.

A practical walkthrough

9 min read · Updated Jul 21, 2026

The Moderation module gives you commands to enforce server rules, manage members, and control channels. Every moderation action creates a numbered case so staff can track what happened and why.

Most moderation work happens in Discord through slash commands. The Dashboard provides configuration for modlog channels, mute roles, DM notices, and Autopilot automation.

Features

  • Warn members with optional DM notices.
  • Mute members by role, with an optional automatic unmute.
  • Timeout members with Discord's native timeout, including long durations that chain multiple timeouts.
  • Ban and unban members, with optional message history deletion.
  • Kick members.
  • Lock and unlock text channels by denying or restoring send permissions.
  • Purge messages with filters for user, links, mentions, content type, emoji, and regex.
  • Nuke a channel: delete and recreate it in one action.
  • Set channel slow mode.
  • Change a member's nickname.
  • Browse, filter, and soft-delete moderation cases.
  • View and cancel pending scheduled moderation jobs.
  • Interactive settings panel to configure the modlog channel, mute role, member role, and DM notices.
  • Dashboard configuration for modlog, roles, DM policies, and Autopilot enforcement.

Before You Begin

Staff members need the Manage Server permission for /moderation settings. Other commands require their listed permission (Ban Members, Kick Members, Moderate Members, Manage Roles, Manage Channels, or Administrator depending on the action).

Discortics needs Send Messages, Embed Links, Manage Roles, Ban Members, Kick Members, Moderate Members, and Manage Channels to run moderation commands. Its highest role must be above the members it moderates and above the Muted Role or Member Role when those are configured.

A modlog channel is optional but recommended. Set one with /moderation settings or from the Dashboard so every case is posted as a logged embed.

Commands that send a DM to the target respect the DM notice toggles configured in settings. By default Warn, Mute, Unmute, Timeout, Ban, and Kick attempts a DM. Untimeout and Unban do not send DMs by default. You can change these in the settings panel or Dashboard.

How Mute and Timeout Differ

FeatureMuteTimeout
MechanismAssigns a server role with denied send permissionsUses Discord's native communication disable
Requires setupYes — set a Muted Role firstNo
Role removedMuted Role stays until unmutedAutomatically ends when the timer expires
Works after joinBot reapplies Muted Role if member leaves and returnsDiscord enforces the timeout server-side

Use mute when you want a role-based system with a distinct visual indicator (you can give the Muted Role a visible name or color). Use timeout for quick, time-limited enforcement that needs no setup.

Create Your First Mute

Before muting, set a Muted Role:

  1. Create a role in Discord (for example, Muted).
  2. For each text channel, deny Send Messages for that role. (The bot applies channel overrides for the Muted Role automatically if they are not already configured.)
  3. Run /moderation settings in your server.
  4. Select Muted Role and pick the role you created.

Now you can mute members:

  1. Run /moderation mute user:@member.
  2. Optionally set a duration such as 10m, 2h, or 7d.
  3. Optionally add a reason.
  4. The member receives the Muted Role. If a duration is set, Discortics schedules an automatic unmute.

To unmute manually, run /moderation unmute user:@member.

Command Options Explained

/moderation warn

Records a formal warning. Warnings do not change roles or permissions, but they create a numbered case visible in /moderation cases. If AutoPilot is configured, warnings count toward automatic escalation thresholds.

OptionRequiredDescription
userYesThe member to warn.
reasonNoWhy the warning was given

/moderation mute

Assigns the configured Muted Role to a member. If a duration is set, the bot creates a scheduled job to remove the role automatically.

OptionRequiredDescription
userYesThe member to mute.
durationNoHow long the mute lasts (for example, 10m, 2h, 7d)
reasonNoWhy the mute was applied

/moderation unmute

Removes the Muted Role from a member and cancels any pending scheduled unmute for that member.

OptionRequiredDescription
userYesThe member to unmute.
reasonNoWhy the mute was removed

/moderation timeout

Applies Discord's native communication timeout. Durations longer than 28 days are supported by chaining multiple timeouts automatically through scheduled jobs.

OptionRequiredDescription
userYesThe member to time out.
durationYesHow long the timeout lasts
reasonNoWhy the timeout was applied

Duration format: 10m, 2h, 7d, or any combination.

/moderation untimeout

Removes the communication timeout from a member and cancels any pending scheduled timeout chain for that member.

OptionRequiredDescription
userYesThe member to remove timeout.
reasonNoWhy the timeout was removed

/moderation ban

Bans a member from the server. Optionally delete recent messages and set a duration for automatic unban.

OptionRequiredDescription
userYesThe member to ban.
durationNoHow long the ban lasts before automatic unban.
purgeNoDelete recent messages: Don't delete, 1 hour, 6 hours, 24 hours, or 7 days.
reasonNoWhy the member was banned.

Warning: Banning removes the member permanently. A temporary ban schedules an automatic unban, but the member must be invited back to rejoin.

/moderation unban

Unbans a user by their Discord ID. You need the user's ID (enable Developer Mode in Discord settings, right-click the user, and choose Copy ID).

OptionRequiredDescription
userYesThe user ID to unban.
reasonNoWhy the user was unbanned

/moderation kick

Removes a member from the server. They can rejoin immediately with a valid invite.

OptionRequiredDescription
userYesThe member to kick.
reasonNoWhy the member was kicked

/moderation lock

Denies Send Messages, Create Public Threads, and Create Private Threads for the configured Member Role in a text channel. If no Member Role is configured, the lock applies to @everyone.

OptionRequiredDescription
channelNoThe channel to lock. Defaults to the current channel.
durationNoHow long the lock lasts before automatic unlock.
reasonNoWhy the channel was locked.

If a duration is set, Discortics schedules an automatic unlock when the time expires.

/moderation unlock

Restores Send Messages for the configured Member Role in a text channel and removes the thread-creation blocks. Cancels any pending scheduled unlock for that channel.

OptionRequiredDescription
channelNoThe channel to unlock. Defaults to the current channel.
reasonNoWhy the channel was unlocked.

/moderation purge

Deletes recent messages in the current channel. You can filter which messages to delete with optional filters. After running the command, Discortics sends a confirmation prompt before deleting. The confirmation expires after 90 seconds of inactivity.

OptionRequiredDescription
amountYesNumber of recent messages to scan (up to what Discord returns).
userNoOnly delete messages from this user.
linksNoDelete messages with All Links or Discord Invites.
fromNoDelete messages from Humans or Bots only.
filterNoDelete messages containing Embeds, Files, Reactions, Emoji, or Pins.
containsNoDelete messages that contain this exact text.
mentionsNoDelete messages with mentions: All Mentions, User, Role, Channel, or Everyone/Here.
emojiNoDelete messages containing a specific emoji.
regexNoDelete messages matching a regex pattern (case-insensitive).

Multiple filters combine: only messages that match all selected filters are deleted. For example, setting from:Humans and links:All Links deletes messages written by humans that contain links.

Warning: Purge cannot be undone. Messages over 14 days old cannot be bulk-deleted by Discord.

/moderation nuke

Deletes the current text channel and recreates it with the same name, topic, position, permissions, slow mode, and parent category. Discortics sends a confirmation prompt with Yes and Cancel buttons. The prompt expires after 5 minutes.

Warning: Nuking a channel permanently deletes all messages in it. The recreated channel keeps the original settings, but message history is gone.

Requires the Administrator permission.

/moderation slowmode

Changes the slow mode cooldown for the current text channel.

OptionRequiredDescription
durationYesDuration string (for example, 5s, 1m), or off to disable.

/moderation nickname

Changes a member's server nickname.

OptionRequiredDescription
userYesThe member to rename.
new-nickYesThe new nickname.

/moderation cases

Opens an interactive browser for moderation cases. Use the arrows to page through cases. Each case shows the case number, action, target, moderator, reason, and metadata (duration, expiration, purge window, and so on).

OptionRequiredDescription
userNoFilter cases to show only this user.
actionNoFilter by action: Warn, Mute, Unmute, Timeout, Untimeout, Ban, Unban, Kick, Lock, or Unlock.
caseNoJump to a specific case number.

The interactive session expires after 10 minutes of inactivity. Run the command again if the buttons stop working.

/moderation remove-case

Soft-deletes moderation cases. Deleted cases are hidden from /moderation cases but remain in the database.

OptionRequiredDescription
caseNoDelete a specific case by its case number.
userNoDelete all cases associated with that user.

Warning: Removing a case cannot be undone.

/moderation settings

Opens the interactive moderation settings panel. From Discord you can:

  • View the current Case Counter (read-only, managed by the bot).
  • Set or change the Modlog Channel where case embeds are posted.
  • Set or change the Muted Role used by mute actions.
  • Set or change the Member Role used by lock, unlock, and lockdown actions. Leave it empty to use @everyone.
  • Toggle DM Policies for each action: Warn, Mute, Unmute, Timeout, Untimeout, Ban, Unban, and Kick.

Each setting is saved as you change it. There is no separate save button in Discord.

Dashboard users can also change Modlog Channel, Muted Role, Member Role, and DM policies from Dashboard → Moderator. Dashboard changes use the save bar at the bottom of the page.

/scheduled-actions list

Shows pending scheduled moderation jobs: automatic unmutes, timeout chains (retimeout), unbans, and unlocks. Filter by action type.

/scheduled-actions delete

Cancels a pending scheduled moderation job by its job ID. Find the job ID from /scheduled-actions list.

OptionRequiredDescription
jobYesThe scheduled job ID to cancel.

What Happens When a Muted Member Rejoins

If a member with an active mute leaves and rejoins, Discortics checks whether the mute role should still be applied. If the mute is still active (not expired or superseded), the bot reapplies the Muted Role. This prevents users from bypassing a role-based mute by leaving.

This does not apply to timeouts, since Discord manages the communication timeout server-side.

Scheduled Moderation Jobs

When you apply a temporary action, Discortics creates a background job to reverse it at the right time:

Temporary actionScheduled jobReverses when
Mute with durationUnmuteDuration expires
Timeout over 28 daysRetimeoutChains next segment
Ban with durationUnbanDuration expires
Lock with durationUnlockDuration expires

Scheduled jobs are superseded automatically if a new moderation action makes the old one irrelevant. For example, unmuting a member manually also cancels the pending scheduled unmute.

DM Notices

By default, Discortics sends a DM to the target when you warn, mute, unmute, timeout, ban, or kick a member. Untimeout and unban DMs are off by default.

You can toggle each notice individually from the settings panel or Dashboard. A DM includes:

  • The action taken (for example, "You have been warned").
  • The duration and expiration time, if the action expires.
  • The reason, if one was provided by the moderator.
  • The case number and moderator's name.

If the target has DMs disabled or has blocked the bot, the DM attempt is recorded as failed but the moderation action still completes.

Modlog Channel

When a modlog channel is configured, every moderation action posts an embed to that channel. The embed includes:

  • Case number and action type.
  • Target mention and ID.
  • Moderator mention and ID.
  • Reason.
  • Metadata (duration, expiration, purge window, mute role, and so on).

Keep the modlog channel private so only staff can read it. Discortics needs View Channel, Send Messages, and Embed Links in that channel.

Dashboard: Moderator Page

The Dashboard provides additional or alternative configuration for moderation. Access it from Dashboard → Moderator.

Case Tracking

Shows the read-only case counter. You can set the modlog channel, muted role, and member role from dropdowns, then save with the save bar.

DM Notices

Toggle each DM policy on or off for Warn, Mute, Unmute, Timeout, Untimeout, Ban, Unban, and Kick.

Autopilot

Autopilot is an automated enforcement system that detects rule-breaking behavior and acts on it. Each module (Profanity, AntiMention, AntiSpam, AntiLink, AntiFlood, AntiRaid) can be enabled and configured independently. Each module also has its own escalation policy (punishments) for Warn, Mute, Timeout, Kick, and Ban.

Autopilot settings are saved and synced from the Dashboard. This is a premium-only feature on Prime and Custom bots. The Dashboard stores the configuration; the bot enforces it.

Autopilot is a separate module with its own documentation. See the Autopilot section for details on each detection module and punishment policy.

Permissions Required Per Command

CommandRequired user permission
/moderation warnNone (hierarchy checked)
/moderation mute / /moderation unmuteManage Roles
/moderation timeout / /moderation untimeoutModerate Members
/moderation ban / /moderation unbanBan Members
/moderation kickKick Members
/moderation lock / /moderation unlockManage Channels
/moderation purgeManage Messages
/moderation nukeAdministrator
/moderation slowmodeManage Channels
/moderation nicknameManage Nicknames
/moderation cases / /moderation remove-caseNone (hierarchy checked)
/moderation settingsManage Server
/scheduled-actions list / /scheduled-actions deleteManage Server

Command Reference

CommandPurpose
/moderation warn user:Record a formal warning
/moderation mute user: duration:Assign the Muted Role to a member
/moderation unmute user:Remove the Muted Role from a member
/moderation timeout user: duration:Apply a Discord communication timeout
/moderation untimeout user:Remove a communication timeout
/moderation ban user: purge: duration:Ban a member with optional history deletion and timer
/moderation unban user:Unban a user by ID
/moderation kick user:Remove a member from the server
/moderation lock channel: duration:Deny send messages for the member role in a channel
/moderation unlock channel:Restore send messages in a locked channel
/moderation purge amount:Delete recent messages with filters
/moderation nukeDelete and recreate the current channel
/moderation slowmode duration:Change channel slow mode cooldown
/moderation nickname user: new-nick:Change a member's nickname
/moderation casesBrowse and filter moderation cases
/moderation remove-caseSoft-delete cases
/moderation settingsOpen the moderation settings panel
/scheduled-actions listList pending scheduled moderation jobs
/scheduled-actions delete job:Cancel a scheduled moderation job

Frequently Asked Questions

Why does mute fail with "Muted role has not been set"?

Set a Muted Role first. Run /moderation settings, choose Muted Role, and select a server role. The role must be below Discortics' highest role.

Why can Discortics not mute or timeout someone?

Check that Discortics has Manage Roles (for mute) or Moderate Members (for timeout). Also confirm that the target's highest role is below Discortics' highest role.

Can I lock a channel without setting a Member Role?

Yes. When no Member Role is configured, lock affects @everyone. This means everyone who does not have an explicit Send Messages allow override is blocked. If you want locks to affect only specific roles, set a Member Role first.

How do I find a user's ID for unban?

Enable Developer Mode in Discord settings (User Settings → Advanced). Then right-click the user's name or message and choose Copy User ID.

Does purging messages from a channel create a case?

Yes. Purge creates a case that appears in /moderation cases and the modlog. The case shows who ran the purge and how many messages were deleted.

Why did my scheduled unban not happen?

A scheduled job might be superseded. If another ban was applied or the user was manually unbanned before the job executed, the job is marked as superseded. Check /scheduled-actions list for the job's status.

Can I undo a case removal?

No. Case removal is permanent. The case data remains in the database but is hidden from the case browser and the modlog.

Does Discortics automatically reapply mute after a member leaves and rejoins?

Yes. If a mute is still active and the member rejoins, Discortics checks and reapplies the Muted Role. Timeouts do not need this because Discord manages them server-side.

Why do some DM notices fail?

The target might have DMs disabled for the server, or they might have blocked the bot. The moderation action still completes even when a DM fails. The case metadata records whether the DM attempt succeeded or failed.

Are moderation commands rate-limited?

Each command has a cooldown. Most moderation commands have a 3-second user cooldown. /moderation nuke has a 10-second cooldown.