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

# Command reference

> Current moderation commands, optional context menus and permission requirements.

This reference is generated from the application's interaction inventory and
reviewed public command descriptions. Discord's command picker shows the exact
available arguments. Optional context menus are off by default. Server controls,
current permissions, hierarchy and registration determine availability.

## Permissions by interaction

| Interaction              | Enabled by default | Pup capabilities                                         | Actor Discord permission | Bot Discord permission    |
| ------------------------ | ------------------ | -------------------------------------------------------- | ------------------------ | ------------------------- |
| `configured-prefix warn` | On                 | `module.moderation.operate`, `moderation.warn`           | moderateMembers          | moderateMembers           |
| `/timeout`               | On                 | `module.moderation.operate`, `moderation.timeout`        | moderateMembers          | moderateMembers           |
| `/untimeout`             | On                 | `module.moderation.operate`, `moderation.timeout`        | moderateMembers          | moderateMembers           |
| `/kick`                  | On                 | `module.moderation.operate`, `moderation.kick`           | kickMembers              | kickMembers               |
| `/ban`                   | On                 | `module.moderation.operate`, `moderation.ban`            | banMembers               | banMembers                |
| `/tempban`               | On                 | `module.moderation.operate`, `moderation.ban`            | banMembers               | banMembers                |
| `/unban`                 | On                 | `module.moderation.operate`, `moderation.ban`            | banMembers               | banMembers                |
| `/note`                  | On                 | `module.moderation.operate`, `moderation.note`           | moderateMembers          | moderateMembers           |
| `/purge`                 | On                 | `module.moderation.operate`, `moderation.purge`          | manageMessages           | manageMessages            |
| `/lock`                  | On                 | `module.moderation.operate`, `moderation.channel`        | manageChannels           | manageRoles               |
| `/unlock`                | On                 | `module.moderation.operate`, `moderation.channel`        | manageChannels           | manageRoles               |
| `/warn`                  | On                 | `module.moderation.operate`, `moderation.warn`           | moderateMembers          | moderateMembers           |
| `/warnings`              | On                 | `module.moderation.operate`, `moderation.case.read`      | viewAuditLog             | None beyond access checks |
| `/warning`               | On                 | `module.moderation.operate`, `moderation.warning.revoke` | moderateMembers          | None beyond access checks |
| `/cases`                 | On                 | `module.moderation.operate`, `moderation.case.read`      | viewAuditLog             | None beyond access checks |
| `/history`               | On                 | `module.moderation.operate`, `moderation.case.read`      | viewAuditLog             | None beyond access checks |
| `/case`                  | On                 | `module.moderation.operate`, `moderation.case.read`      | viewAuditLog             | None beyond access checks |
| `/reason`                | On                 | `module.moderation.operate`, `moderation.case.reason`    | moderateMembers          | None beyond access checks |
| `history (member menu)`  | Off; opt in        | `module.moderation.operate`, `moderation.case.read`      | viewAuditLog             | None beyond access checks |
| `history (message menu)` | Off; opt in        | `module.moderation.operate`, `moderation.case.read`      | viewAuditLog             | None beyond access checks |

Native permission names in this table correspond to Discord's permission
settings. Every interaction also requires access to the relevant server and
enabled module. See [permissions and hierarchy](/permissions).

## Prefix warning command

`prefix + warn`

A configurable prefix offers a migration-friendly warning path with the same durable outcome as the slash command.

## Warn a member

`/warn`

The command applies authorization and hierarchy checks before recording the warning and its delivery work.

## List member warnings

`/warnings`

Staff receive a bounded warning summary designed to reveal only the information needed for moderation.

## Revoke a warning

`/warning revoke`

Revocation preserves an auditable lifecycle while keeping warning totals and escalation decisions accurate.

## Add a staff note

`/note`

Notes use the same authorization, ordering, and audit foundations as moderation actions without triggering punishment.

## List recent cases

`/cases`

The command returns a bounded, newest-first summary that omits reasons and internal record identifiers.

## Review member history

`/history`

The command provides a bounded, privacy-conscious history without creating or changing moderation records.

## Open a case

`/case`

Case detail brings related state and timeline information together behind explicit staff authorization.

## Update a case reason

`/reason`

Reason changes are revision-aware and preserve the case timeline instead of rewriting history silently.

## Timeout a member

`/timeout`

The command validates duration, permissions, and hierarchy before recording and delivering the timeout.

## Remove a timeout

`/untimeout`

The removal is recorded as a durable moderation action and remains safe to recover after provider uncertainty.

## Kick a member

`/kick`

The action respects staff capability, native permission, and role hierarchy before it reaches Discord.

## Ban a user

`/ban`

The command records its intended outcome before delivery and supports bounded message-history cleanup.

## Temporarily ban a member

`/tempban`

A scheduled recovery path records and delivers the later unban without losing the original moderation context.

## Unban a user

`/unban`

The action is authorized, recorded, and safely recoverable when the provider has already reached the desired state.

## Purge recent messages

`/purge`

Purge records a moderation case and safely handles both bulk and individual message deletion outcomes.

## Lock a channel

`/lock`

The channel permission change is recorded and can be retried without creating a second moderation action.

## Unlock a channel

`/unlock`

Unlock uses the same durable, authorization-aware channel action workflow as locking.

## History context menus

The optional member menu opens the existing moderation-history operation for
the selected member. The optional message menu opens that operation for the
message author. Both use the same history authorization and data boundary.
They are interaction variants, not separate moderation products.

## Delivery and recovery

After a mutating command, inspect its case and delivery state. Use the existing
case's authorized retry when a notification fails; do not issue a duplicate
punishment to resend a message. See [dashboard workflows](/dashboard).
