Moderation

Every moderation action creates a numbered case, so staff can see what happened and why.

Before you begin

  • You need Manage Server to change settings. Each command needs its own permission.
  • Discortics needs Send Messages, Embed Links, Manage Roles, Ban Members, Kick Members, Timeout Members, and Manage Channels.
  • Keep its role above the members it moderates and any Muted or Member Role.

Configure moderation

Configure from the Dashboard
  1. Open Dashboard → Moderator → General.
  2. Choose a private modlog channel.
  3. Choose a Muted Role, and a Member Role if your server uses one.
  4. Choose which actions DM the member.
  5. Save, then test a reversible action with a staff test account.

[Insert screenshot here]

The General tab on Dashboard → Moderator

Configure in Discord
  1. Run /settings moderation.
  2. Choose a private modlog channel.
  3. Under Muted Role, choose Use existing role or Create new role. Add a Member Role if your server uses one.
  4. Choose which actions DM the member.
  5. Test a reversible action with a staff test account.

[Insert screenshot here]

The /settings moderation panel

Settings

SettingWhat it does
Modlog ChannelReceives moderation cases and Automoderation logs. Keep it private
Muted RoleGiven by /mute. Create new role sets it up and denies communication across channels
Member RoleUsed by /lock and /unlock. If empty, they apply to @everyone
DM NoticesChoose per action whether the member gets a DM
Case CountThe number of cases recorded

The muted role can't be a managed role, @everyone, or a role with risky permissions.

[Insert screenshot here]

Modlog Channel and Muted Role selected on the General tab

DM notices: Warn, Mute, Unmute, Timeout, Ban, and Kick send a DM by default. Untimeout and Unban don't. If a member's DMs are closed, the action still completes.

Mute or timeout?

MuteTimeout
How it worksGives a role that denies sendingUses Discord's built-in timeout
SetupSet a Muted Role firstNone
DurationOptional, or permanentRequired
Leaving and rejoiningRole is given back if the mute is activeDiscord keeps it in place

Commands

CommandWhat it doesPermission
/warn user: reason:Records a warning and a caseKick Members
/mute user: duration: reason:Gives the Muted Role, such as for 10m, 2h, or 7dTimeout Members
/unmute user: reason:Removes the Muted RoleTimeout Members
/timeout user: duration: reason:Times out the member. Over 28 days is supportedTimeout Members
/untimeout user: reason:Removes the timeoutTimeout Members
/ban user: duration: purge: reason:Bans the member, optionally for a set timeBan Members
/softbanBans, deletes recent messages, then unbansBan Members
/unban user: reason:Unbans a user by IDBan Members
/kick user: reason:Removes the member. They can rejoin with an inviteKick Members
/lock channel: duration: reason:Stops messages and new threads for the Member RoleManage Channels and Manage Roles
/unlock channel: reason:Reverses a lockManage Channels and Manage Roles
/purge amount:Deletes recent messages, with filtersManage Messages
/nukeDeletes and recreates the channel, keeping its settingsAdministrator
/slowmode duration:Sets slow mode, such as 5s, or offManage Channels
/nickname user: new-nick:Changes a nicknameManage Nicknames
/cases user: action: case:Browses and filters casesKick Members
/remove-case case: user:Hides a case, or all of a user's casesKick Members
/scheduled-actions listLists pending unmutes, unbans, unlocks, and timeout extensionsManage Server
/scheduled-actions delete job:Cancels a pending actionManage Server
/settings moderationOpens the settings panelManage Server

Most commands have a 3-second cooldown, and /nuke has 10 seconds. Role hierarchy always applies.

Purge filters

Filters combine, so only messages matching all of them are deleted. Discord can't bulk-delete messages over 14 days old.

FilterWhat it matches
userOne user's messages
linksAll links, or Discord invites
fromHumans or bots
filterEmbeds, files, reactions, emoji, or pins
containsExact text
mentionsAll mentions, user, role, channel, or everyone and here
emojiA specific emoji
regexA regex pattern, not case-sensitive

Temporary actions

Mutes, bans, and locks with a duration reverse automatically. Timeouts over 28 days extend automatically. Reversing an action manually cancels its pending job. See them all with /scheduled-actions list.

Right-click commands

Right-click a member and open Apps for Mod Warn, Mod Mute / Unmute, Mod Timeout, Mod Kick, Mod Softban, Mod Ban, and Mod Cases. Premium also adds Verify Request and Whitelist.

Right-click a message for the same actions on its author, plus Giveaway End, Giveaway Reroll, and Purge until Here.

  • These are private, and show the details before you select Confirm. Use Change Reason and Change Duration where available.
  • Normal permissions, command rules, and role hierarchy apply.
  • Timeout takes up to 28 days. Mute and Ban can be permanent.
  • Purge until Here includes the selected message, covers up to 1,000 messages, and skips any over 14 days old.
  • Whitelist exempts a member from Verification or Automoderation modules you choose. Discord's own AutoMod may still block their messages.
  • Verify Request sends a verification DM without resetting their status.

User modlogs also have a dropdown of follow-up actions. Each one asks you to confirm and writes a new log.

Troubleshooting

"Muted role has not been set." Run /settings moderation and choose a Muted Role below Discortics' highest role.

Discortics can't mute or time out someone. Check for Manage Roles or Timeout Members, and that the target's highest role is below Discortics.

A muted member can still speak. Check that the Muted Role denies Send Messages in that channel, and that the Discortics role is above it.

A case is missing from the modlog. Check that the channel exists and Discortics has View Channel, Send Messages, and Embed Links there.

A scheduled unban didn't happen. A newer ban or manual unban replaces the job. Check /scheduled-actions list.

I need a user's ID. Turn on Developer Mode in Discord's User Settings → Advanced, then right-click the user and select Copy User ID.

Prefer one-line commands? See Direct Commands.