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

# Setup

> /setup mute and /setup jail build the roles and permissions the moderation modules expect.

Both setup commands are **idempotent** · they create what's missing, reuse what exists, and can be
re-run safely. Re-run them after adding channels outside a category.

## `/setup mute`

```text theme={null}
/setup mute
```

Creates or reuses two roles and configures them across every channel and category:

| Role | Denied permissions |
| - | - |
| **Muted** | Send messages, create threads, add reactions, send voice messages, speak |
| **Image Muted** | Attach files, embed links |

They're stored as `mute-role` and `imagemute-role`, so the bot can find them later without guessing
names.

After setup, moderation commands use the roles:

```text theme={null}
/mute @member 10m
/imagemute @member 1h
```

`/imagemute` grants the role for the duration instead of editing channel permissions for that member ·
cheaper and reversible. On a server that hasn't run `/setup mute`, it falls back to per-channel
overrides.

## `/setup jail`

```text theme={null}
/setup jail
```

Creates or reuses the **Jailed** role and a private `#jail` channel, then rewrites visibility in
every channel and category so a jailed member can see only the jail.

| Command | Default |
| - | - |
| `/jail @member` | 1 hour |
| `/unjail @member` | Immediate release |

Jail is the punishment of choice for members who should stay in the server but be quarantined ·
a honeypot configured to `jail` uses this same role.

## Permissions these need

| Command | Needs |
| - | - |
| `/setup mute` | Manage Roles, and a role above the roles it creates |
| `/setup jail` | Manage Roles + Manage Channels |

If Criminal's role sits below either target, the command reports the hierarchy problem instead of
creating a half-working setup.

**Re-run after structural changes**

New channels added outside a category aren't covered by the existing overwrites. Running
`/setup mute` and `/setup jail` again closes that gap · muted members could otherwise speak in the
new channel.


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