Discortics logo
CommandsPremium
Login

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

Moderation Module

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

9 min readUpdated Aug 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.

Configure moderation

Configure moderation from the DashboardSet the shared roles, logs, and member notices before staff use moderation commands.
  1. Give Discortics the permissions your staff commands need and move its role above members it may manage.
  2. Open Dashboard → Moderator.
  3. Choose a private modlog channel, a Muted Role, and a Member Role if your server uses one.
  4. Choose which actions should send a DM to the affected member.
  5. Save, then test one reversible action with a staff test account.

[Insert screenshot here]

Moderator settings page

Configure moderation from DiscordThe interactive settings panel saves each choice immediately.
  1. Give Discortics the permissions your staff commands need and move its role above members it may manage.
  2. Run /settings moderation.
  3. Choose a private modlog channel, a Muted Role, and a Member Role if your server uses one.
  4. Choose which actions should send a DM to the affected member.
  5. Test one reversible action with a staff test account.

[Insert screenshot here]

Moderation settings panel

Moderator settings

Moderator Settings controls the shared options used by moderation commands and Autopilot. Use it to choose where cases are logged, which roles Discortics uses, and whether affected members receive a DM.

Case settings

  • Modlog Channel receives cases created by Discortics moderation commands.
  • Muted Role is assigned by /mute. Put the Discortics role above it and deny Send Messages for the Muted Role in channels where muted members should not speak.
  • Member Role is the normal member role used by channel lockdown actions. Leave it empty if your server does not use one.
  • Case Count shows how many moderation cases the server has recorded.

[Insert screenshot here]

Case settings with Modlog Channel and Muted Role selected

Member DM notices

Choose whether Discortics should try to DM a member after a warning, mute, timeout, kick, or ban. A closed DM does not stop the moderation action or its log entry.

Keep notices on when members should know the action and reason. Turn an individual notice off when staff use another way to contact members.

Autopilot logs

Choose a private log channel for automatic detections. You can use the same channel as the modlog or keep automatic detections in a separate #automod-logs channel.

Filter thresholds and punishments are explained in the Autopilot guide. Join protection is explained in Anti-Raid.

[Insert screenshot here]

Autopilot log channel and event controls

What staff can do

  • 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 need Manage Server for /settings moderation; individual commands need their listed Discord permission.
  • Discortics needs Send Messages, Embed Links, Manage Roles, Ban Members, Kick Members, Timeout Members, and Manage Channels.
  • Its role must be above moderated members and any configured Muted or Member Role.
  • A private modlog is optional but recommended; set it with /settings moderation or the Dashboard.

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 /settings moderation in your server.
  4. Select Muted Role and pick the role you created.

Now you can mute members:

  1. Run /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 /unmute user:@member.

Command Options Explained

/warn

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

OptionRequiredDescription
userYesThe member to warn.
reasonNoWhy the warning was given

/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

/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

/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.

/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

/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.

/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

/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

/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.

/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.

/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.

/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.

/slowmode

Changes the slow mode cooldown for the current text channel.

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

/nickname

Changes a member's server nickname.

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

/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.

/remove-case

Soft-deletes moderation cases. Deleted cases are hidden from /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.

/settings moderation

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
/warnNone (hierarchy checked)
/mute / /unmuteManage Roles
/timeout / /untimeoutTimeout Members
/ban / /unbanBan Members
/kickKick Members
/lock / /unlockManage Channels
/purgeManage Messages
/nukeAdministrator
/slowmodeManage Channels
/nicknameManage Nicknames
/cases / /remove-caseNone (hierarchy checked)
/settings moderationManage Server
/scheduled-actions list / /scheduled-actions deleteManage Server

Command Reference

CommandPurpose
/warn user:Record a formal warning
/mute user: duration:Assign the Muted Role to a member
/unmute user:Remove the Muted Role from a member
/timeout user: duration:Apply a Discord communication timeout
/untimeout user:Remove a communication timeout
/ban user: purge: duration:Ban a member with optional history deletion and timer
/unban user:Unban a user by ID
/kick user:Remove a member from the server
/lock channel: duration:Deny send messages for the member role in a channel
/unlock channel:Restore send messages in a locked channel
/purge amount:Delete recent messages with filters
/nukeDelete and recreate the current channel
/slowmode duration:Change channel slow mode cooldown
/nickname user: new-nick:Change a member's nickname
/casesBrowse and filter moderation cases
/remove-caseSoft-delete cases
/settings moderationOpen 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 /settings moderation, 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 Timeout 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 /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. /nuke has a 10-second cooldown.

A muted member can still speak

Check that the Muted Role denies Send Messages in the affected channel. Also confirm the Discortics role is above the Muted Role and the member's other managed roles.

A case is missing from the modlog

Confirm the channel still exists and Discortics has View Channel, Send Messages, and Embed Links there. Then test a Discortics moderation command and check the response for an error.