> ## Documentation Index
> Fetch the complete documentation index at: https://docs.misery.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Moderation

> Initialize the moderation system for your server.

## Overview

Before misery's moderation commands will work, your server needs somewhere to log actions and a set of roles to apply punishments with. One command handles all of it.

## Running setup

```javascript theme={null}
,setup
```

> [!NOTE]
>
> You need the **Administrator** permission to run this. misery also needs **Manage Channels** and **Manage Roles**, or setup stops before making any changes.

## What gets created

### Channels

| Channel | Purpose |
| - | - |
| `#jail` | The only channel a jailed member can see or talk in |
| `#jail-log` | Where misery records moderation actions taken through it |

Both are hidden from `@everyone` immediately, so your members won't see them unless you open them up.

### Roles

| Role | Restricts |
| - | - |
| **Jailed** | Everything except `#jail` |
| **Muted** | Sending messages and talking in threads |
| **Image Muted** | Uploading attachments |
| **Reaction Muted** | Adding reactions |

All four are created with no permissions of their own and a neutral gray color, so they won't accidentally grant anything.

`,setup` walls the **Jailed** role off from every channel. The three mute roles get their channel overwrites from a separate command:

```javascript theme={null}
,setupmute
```

Run it once after setup (and again whenever you add channels) so muting actually stops people talking, uploading, and reacting.

## How jailing works

Jail is a stricter version of a mute. Instead of silencing someone in place, it walls them off from the entire server and leaves them a single channel to talk in. By default their roles are removed while jailed and given back when they're unjailed.

Jailed members get a DM telling them why — whether a moderator jailed them, or the [filter](/security/filter) or [honeypot](/security/honeypot) did.

> [!TIP]
>
> Channels created after setup won't automatically inherit the jail overwrites. If you add a new channel later, re-run `,setup` (and `,setupmute`) to bring it in line.

## Re-running setup

Running `,setup` again is safe. misery checks for the channels and roles it already registered and reuses anything that still exists. Anything you deleted gets rebuilt, and permission overwrites are reapplied across the server.

Your existing jail message and jail role settings carry over untouched.

## Everyday commands

| Command | What it does |
| - | - |
| `,ban (member) (reason)` | Ban a member |
| `,tempban (member) (duration) (reason)` | Ban that lifts on its own |
| `,kick (member) (reason)` | Remove a member |
| `,timeout (member) (duration) (reason)` | Time a member out |
| `,warn (member) (reason)` | Record a warning |
| `,jail (member) (duration) (reason)` | Jail a member, optionally for a set time |
| `,mute`, `,imute`, `,rmute` | Mute, image mute, or reaction mute |
| `,purge (member) (amount)` | Bulk delete messages, optionally from one member |
| `,lockdown (channel) (reason)` / `,unlock` | Close or reopen a channel |
| `,history (member)` | A member's punishment history |
| `,caselog (case id)` | Look up a single case |

Run `,help (command)` for the full options on any of them.

> [!TIP]
>
> Customize what misery says for each punishment — in the channel and in DMs — with [invoke messages](/configuration/messages/invoke-messages).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.