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

# Moderation

> Initialize the moderation system for your server.

## Overview

Before confine'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
```

<Info>
  You need the **Administrator** permission to run this. Confine also needs **Manage Channels** and **Manage Roles** on its own role, or setup will stop before making any changes.
</Info>

Confine posts a status message while it works, then updates it once everything's in place.

## What gets created

### Channels

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

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

### Roles

| Role               | Restricts                 |
| ------------------ | ------------------------- |
| **Jailed**         | Everything except `#jail` |
| **Muted**          | Sending messages          |
| **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 or shuffle your role list colors around.

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

Setup handles this by walking every channel in your server and denying the **Jailed** role view and send access — then re-allowing both in `#jail` only. `#jail-log` stays hidden from them so they can't watch their own case get written up.

<Tip>
  Channels created after setup won't automatically inherit these overwrites. If you add a new channel later, re-run `,setup` to bring it in line.
</Tip>

## Re-running setup

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

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