Skip to main content
Jail is a moderation tool built on top of the ticket system rather than a separate feature: one ticket category is designated as the server’s jail category, and “jailing” a member strips their roles, applies a dedicated jail role, and opens them a private channel in that category - similar to a normal ticket, but one they were placed into rather than one they chose to open.

Set up

1

Create a category

Jail needs its own ticket category to work with. If you don’t already have one set aside for it, create one: /ticket create id:jail. This is a normal ticket category at this point - nothing jail-specific happens until the next step.
2

Link it to jail

Run /config jail. This opens a select menu listing every ticket category on your server - pick the one you want to use for jail. Only one category can be linked at a time; picking a different one moves the link, it doesn’t add a second jail category.
3

Set the jail role

Run /ticket edit category:jail and go to the Roles page. Set an Assign role there - once a category is linked to jail, this list is what actually gets applied to a member’s account when they’re jailed. Without a role set here, /jail will refuse to jail anyone, since there’d be nothing to apply.
4

Optional: notify on jail

Back in /config jail, toggle Notify user on jail on if you want jailed members DMed the reason they were given. If their DMs are closed, this is silently skipped - jailing still succeeds either way.
Once a category is linked to jail, members lose the ability to self-open a ticket in it through the panel or /open - the bot blocks this outright for everyone except staff. The only ways into a jail-linked category from that point on are /jail and /escalate (both staff actions).

Jailing a member

Run /jail member:<user> reason:<text> (reason is optional, but worth setting since it’s shown to staff in the channel and, if enabled, DMed to the member). This does four things in order:
  1. Removes the target’s current server roles.
  2. Applies the jail category’s assign role(s) (the ones you set in the setup steps above).
  3. Opens a ticket channel for them inside the jail category, just like a normal ticket open.
  4. Records what was removed, so it can be put back later.
A few situations block /jail outright rather than letting it partially apply:
  • The target already has a role equal to or higher than yours (server owners are exempt from this check).
  • The target’s highest role sits above the bot’s own highest role - Discord’s permission system means the bot literally can’t touch it.
  • The bot is missing the Manage Roles permission.
  • The target is the server owner, or is another bot.
/unjail member:<user> reverses the process: it restores exactly the roles that were recorded as removed when the member was jailed, then leaves the jail ticket channel as-is (it doesn’t get closed automatically - close it separately if you want a transcript, or delete it if you don’t).

Escalating into or out of jail

/escalate category:jail, run from inside an already-open regular ticket, moves that ticket into the jail category and applies the exact same role swap /jail does - it’s the same underlying action, just triggered from a conversation that’s already happening instead of starting fresh. Running /escalate on a jailed ticket to move it to a normal category does the reverse: restores the member’s roles the same way /unjail would. This is the intended path when a regular support conversation turns into something that needs jail - staff don’t need to close the current ticket and separately run /jail, they can escalate the same channel directly.