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

# Snowball Moderation Commands: /moderation Reference

> Complete reference for all /moderation subcommands in Snowball, including bans, mutes, kicks, case management, purge, lock, slowmode, and staff-only tools.

All moderation actions are grouped under the `/moderation` command. Each action creates a case record with a unique Case ID, sends a DM to the affected user (if their DMs are open), and posts an entry to the mod log channel. Confirmation prompts appear before destructive actions like bans and mutes.

<Warning>
  All moderation subcommands are restricted to staff members only and cannot be used in DMs.
</Warning>

## Commands at a glance

| Subcommand               | Description                                   | Permission required |
| ------------------------ | --------------------------------------------- | ------------------- |
| `/moderation userinfo`   | View detailed information about a user        | Staff               |
| `/moderation warn`       | Issue a formal warning                        | Staff               |
| `/moderation mute`       | Apply a Discord timeout                       | Staff               |
| `/moderation unmute`     | Remove a timeout early                        | Staff               |
| `/moderation ban`        | Ban a member                                  | Staff               |
| `/moderation unban`      | Lift a ban                                    | Staff               |
| `/moderation kick`       | Kick a member                                 | Staff               |
| `/moderation log`        | Look up moderation history or a specific case | Staff               |
| `/moderation purge`      | Bulk delete messages                          | Staff               |
| `/moderation slowmode`   | Set a channel's slowmode delay                | Staff               |
| `/moderation lock`       | Prevent members from sending in a channel     | Staff               |
| `/moderation unlock`     | Re-enable sending in a locked channel         | Staff               |
| `/moderation note`       | Add a private staff note to a user            | Staff               |
| `/moderation casedelete` | Permanently delete a case by ID               | Staff               |
| `/moderation caseupdate` | Update the reason on a case                   | Staff               |
| `/moderation say`        | Send a message to a channel as the bot        | Staff               |

***

## User actions

### `/moderation userinfo`

Displays detailed information about a user, including account creation date, server join date, roles, badges, and a summary of their moderation case history (up to 5 recent cases).

<ParamField path="user" type="user" optional>
  The user to look up. Defaults to yourself.
</ParamField>

***

### `/moderation warn`

Issues a formal warning. Snowball creates a case record, DMs the user with the reason and Case ID, and posts to the mod log.

A confirmation prompt is shown before the warning is issued, including how many prior cases the user has on record.

<ParamField path="user" type="user" required>
  The member to warn.
</ParamField>

<ParamField path="reason" type="string" required>
  Reason for the warning.
</ParamField>

***

### `/moderation mute`

Applies a Discord timeout (communication disable) to a member. Maximum duration is 28 days. Snowball creates a case, DMs the user, and posts to the mod log. A confirmation prompt appears before the mute is applied.

<ParamField path="user" type="user" required>
  The member to mute.
</ParamField>

<ParamField path="duration" type="string" required>
  How long the mute lasts. Use formats like `10m`, `2h`, `1d`, or `1w`. Maximum is 28 days.
</ParamField>

<ParamField path="reason" type="string" required>
  Reason for the mute.
</ParamField>

***

### `/moderation unmute`

Removes an active timeout from a member before it expires naturally.

<ParamField path="user" type="user" required>
  The member to unmute.
</ParamField>

<ParamField path="reason" type="string" required>
  Reason for the early removal.
</ParamField>

***

### `/moderation ban`

Bans a member from the server. A confirmation prompt shows before the ban is applied, including any prior case history. Banned users receive a DM with a ban appeal button. A case record is created and posted to the mod log.

<ParamField path="user" type="user" required>
  The member to ban.
</ParamField>

<ParamField path="reason" type="string" required>
  Reason for the ban.
</ParamField>

<ParamField path="delete_messages" type="integer" optional>
  Number of days of messages to delete (0–7). Defaults to 0.
</ParamField>

***

### `/moderation unban`

Lifts an existing ban by the banned user's Discord ID.

<ParamField path="user_id" type="string" required>
  The Discord User ID of the banned member.
</ParamField>

<ParamField path="reason" type="string" required>
  Reason for the unban.
</ParamField>

***

### `/moderation kick`

Removes a member from the server without a ban. They can rejoin with an invite. A case record is created.

<ParamField path="user" type="user" required>
  The member to kick.
</ParamField>

<ParamField path="reason" type="string" required>
  Reason for the kick.
</ParamField>

***

### `/moderation note`

Adds a private staff note to a user's record without issuing any punishment. Notes appear in the user's moderation history under a separate section.

<ParamField path="user" type="user" required>
  The member to add a note for.
</ParamField>

<ParamField path="note" type="string" required>
  The note text. Maximum 1000 characters.
</ParamField>

***

## Case management

### `/moderation log`

Looks up a user's full moderation history, a moderator's issued actions, or a single case by ID. Results are paginated (5 cases per page). A dropdown switches between "Against" (cases issued against the user) and "Issued" (actions the user has taken as a moderator).

<ParamField path="user" type="user" optional>
  The member to look up. Omit to see your own issued actions.
</ParamField>

<ParamField path="view" type="string" optional>
  Which direction to view. Defaults to the mode with more records.

  | Choice  | Description                                 |
  | ------- | ------------------------------------------- |
  | Against | Cases issued against this user              |
  | Issued  | Actions this user has issued as a moderator |
</ParamField>

<ParamField path="case" type="string" optional>
  Look up a single case directly by its Case ID (e.g., `abc1234`).
</ParamField>

***

### `/moderation casedelete`

Permanently deletes a moderation case. This action cannot be undone.

<ParamField path="case" type="string" required>
  The Case ID to delete.
</ParamField>

***

### `/moderation caseupdate`

Updates the reason on an existing moderation case.

<ParamField path="case" type="string" required>
  The Case ID to update.
</ParamField>

<ParamField path="reason" type="string" required>
  The new reason for the case. Maximum 1000 characters.
</ParamField>

***

## Channel management

### `/moderation purge`

Bulk-deletes messages from the current channel. Messages older than 14 days cannot be deleted (Discord limitation). The confirmation reply auto-deletes after 5 seconds.

<ParamField path="amount" type="integer" required>
  Number of messages to delete (1–1000).
</ParamField>

***

### `/moderation slowmode`

Sets the slowmode delay for a channel.

<ParamField path="delay" type="string" required>
  The delay to set (e.g., `5s`, `1m`, `1h`). Use `0` or `off` to disable slowmode.
</ParamField>

<ParamField path="channel" type="channel" optional>
  The channel to apply the slowmode to. Defaults to the current channel.
</ParamField>

***

### `/moderation lock`

Locks a channel by removing the ability for members to send messages. Useful during incidents or announcements.

<ParamField path="channel" type="channel" optional>
  The channel to lock. Defaults to the current channel.
</ParamField>

<ParamField path="reason" type="string" optional>
  Reason for the lock.
</ParamField>

***

### `/moderation unlock`

Unlocks a previously locked channel, restoring members' ability to send messages.

<ParamField path="channel" type="channel" optional>
  The channel to unlock. Defaults to the current channel.
</ParamField>

<ParamField path="reason" type="string" optional>
  Reason for the unlock.
</ParamField>

***

## Bot messaging

### `/moderation say`

Sends a message to any text channel as Snowball. The response to you is ephemeral. Requires the Manage Messages permission.

<ParamField path="channel" type="channel" required>
  The channel to send the message in.
</ParamField>

<ParamField path="message" type="string" required>
  The message text to send. Maximum 2000 characters.
</ParamField>
