> For the complete documentation index, see [llms.txt](https://discortics.com/llms.txt). A consolidated single-file corpus is available at [llms-full.txt](https://discortics.com/llms-full.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://discortics.com/guides/moderation.md).

# 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](#commands).
- 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

### Dashboard Setup

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.

### Discord Command Setup

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.

## Settings

| Setting            | What it does                                                                              |
| ------------------ | ----------------------------------------------------------------------------------------- |
| **Modlog Channel** | Receives moderation cases and [Automoderation](/guides/autopilot) logs. Keep it private   |
| **Muted Role**     | Given by `/mute`. **Create new role** sets it up and denies communication across channels |
| **Member Role**    | Used by `/lock` and `/unlock`. If empty, they apply to `@everyone`                        |
| **DM Notices**     | Choose per action whether the member gets a DM                                            |
| **Case Count**     | The number of cases recorded                                                              |

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

**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?

|                       | Mute                                     | Timeout                         |
| --------------------- | ---------------------------------------- | ------------------------------- |
| How it works          | Gives a role that denies sending         | Uses Discord's built-in timeout |
| Setup                 | Set a Muted Role first                   | None                            |
| Duration              | Optional, or permanent                   | Required                        |
| Leaving and rejoining | Role is given back if the mute is active | Discord keeps it in place       |

## Commands

| Command                               | What it does                                                   | Permission                       |
| ------------------------------------- | -------------------------------------------------------------- | -------------------------------- |
| `/warn user: reason:`                 | Records a warning and a case                                   | Kick Members                     |
| `/mute user: duration: reason:`       | Gives the Muted Role, such as for `10m`, `2h`, or `7d`         | Timeout Members                  |
| `/unmute user: reason:`               | Removes the Muted Role                                         | Timeout Members                  |
| `/timeout user: duration: reason:`    | Times out the member. Over 28 days is supported                | Timeout Members                  |
| `/untimeout user: reason:`            | Removes the timeout                                            | Timeout Members                  |
| `/ban user: duration: purge: reason:` | Bans the member, optionally for a set time                     | Ban Members                      |
| `/softban`                            | Bans, deletes recent messages, then unbans                     | Ban Members                      |
| `/unban user: reason:`                | Unbans a user by ID                                            | Ban Members                      |
| `/kick user: reason:`                 | Removes the member. They can rejoin with an invite             | Kick Members                     |
| `/lock channel: duration: reason:`    | Stops messages and new threads for the Member Role             | Manage Channels and Manage Roles |
| `/unlock channel: reason:`            | Reverses a lock                                                | Manage Channels and Manage Roles |
| `/purge amount:`                      | Deletes recent messages, with filters                          | Manage Messages                  |
| `/nuke`                               | Deletes and recreates the channel, keeping its settings        | Administrator                    |
| `/slowmode duration:`                 | Sets slow mode, such as `5s`, or `off`                         | Manage Channels                  |
| `/nickname user: new-nick:`           | Changes a nickname                                             | Manage Nicknames                 |
| `/cases user: action: case:`          | Browses and filters cases                                      | Kick Members                     |
| `/remove-case case: user:`            | Hides a case, or all of a user's cases                         | Kick Members                     |
| `/scheduled-actions list`             | Lists pending unmutes, unbans, unlocks, and timeout extensions | Manage Server                    |
| `/scheduled-actions delete job:`      | Cancels a pending action                                       | Manage Server                    |
| `/settings moderation`                | Opens the settings panel                                       | Manage Server                    |

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

> [!WARNING]
> `/purge`, `/nuke`, and `/remove-case` can't be undone. `/nuke` deletes all messages in the channel. A temporary ban unbans automatically, but the member needs a new invite to return.

## Purge filters

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

| Filter     | What it matches                                         |
| ---------- | ------------------------------------------------------- |
| `user`     | One user's messages                                     |
| `links`    | All links, or Discord invites                           |
| `from`     | Humans or bots                                          |
| `filter`   | Embeds, files, reactions, emoji, or pins                |
| `contains` | Exact text                                              |
| `mentions` | All mentions, user, role, channel, or everyone and here |
| `emoji`    | A specific emoji                                        |
| `regex`    | A 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](/guides/command-arguments).
