Commands
/warn
/warn
Issue a warning to a server member. Requires the
Each warn creates both a mod case and a linked warning record with a severity-based point weight. After issuing the warning, escalation thresholds are checked automatically.
moderator role.| Option | Required | Description |
|---|---|---|
user | Yes | The member to warn |
reason | No | Reason for the warning |
severity | No | low (default), medium, or high |
/kick
/kick
Remove a member from the server without banning them. Requires the
admin role.| Option | Required | Description |
|---|---|---|
user | Yes | The member to kick |
reason | No | Reason for the kick |
/ban
/ban
Permanently ban a user. Works even if the user is not currently in the server. Requires the
admin role.| Option | Required | Description |
|---|---|---|
user | Yes | The user to ban |
reason | No | Reason for the ban |
delete_messages | No | Days of messages to delete (0–7, default 0) |
/tempban
/tempban
Ban a user for a fixed duration. The bot automatically unbans them when the timer expires. Requires the
admin role.| Option | Required | Description |
|---|---|---|
user | Yes | The user to ban |
duration | Yes | Duration string (e.g. 1h, 7d, 30m) |
reason | No | Reason for the ban |
/softban
/softban
Ban and immediately unban a user to delete their recent messages without a permanent ban. Requires the
admin role.| Option | Required | Description |
|---|---|---|
user | Yes | The user to softban |
reason | No | Reason |
/timeout
/timeout
Mute a member for a specified duration (up to 28 days). Requires the
admin role.| Option | Required | Description |
|---|---|---|
user | Yes | The member to time out |
duration | Yes | Duration string (e.g. 30m, 1h, 7d) |
reason | No | Reason |
/untimeout
/untimeout
Remove an active timeout from a member early. Requires the
admin role.| Option | Required | Description |
|---|---|---|
user | Yes | The member to untimeout |
reason | No | Reason |
/unban
/unban
Remove a ban. Requires the
admin role.| Option | Required | Description |
|---|---|---|
user | Yes | The user ID to unban |
reason | No | Reason |
/purge
/purge
Bulk-delete messages from a channel. Requires the
admin role.| Option | Required | Description |
|---|---|---|
amount | Yes | Number of messages to delete (1–100) |
user | No | Delete only messages from this user |
/lock and /unlock
/lock and /unlock
Prevent non-moderators from sending messages in a channel (
/lock) or restore normal permissions (/unlock). Both require the admin role.| Option | Required | Description |
|---|---|---|
reason | No | Reason (logged) |
/slowmode
/slowmode
Set a per-message cooldown on a channel. Requires the
admin role.| Option | Required | Description |
|---|---|---|
seconds | Yes | Slowmode interval in seconds (0 to disable) |
Warning system
Warnings are first-class records with severity, point weights, and automatic expiry.Severity levels
| Severity | Default points |
|---|---|
low | 1 |
medium | 2 |
high | 3 |
Warning expiry
SetexpiryDays to automatically deactivate old warnings. The expiry scheduler runs every 60 seconds.
expiryDays to 0 or omit it to make warnings permanent.
Escalation
When a warning threshold is reached, the bot automatically applies a configured action — no moderator intervention needed.Protected roles
Protected members — server owner, admins, moderators, or any explicitly listed roles — cannot be moderated by bot commands. This prevents accidental self-moderation.permissions.adminRoleIds and permissions.moderatorRoleIds.
DM notifications
Before executing an action, the bot DMs the target member with a formatted embed explaining what happened and why. DM delivery is best-effort — if the user has DMs disabled, the action still proceeds.false to suppress DMs for that action type.
Mod log channels
Every moderation action posts a rich embed to a configured log channel. You can route different action types to different channels, or use a singledefault channel for everything.
null. The default channel is used as a fallback when a specific channel is not set.
Log embeds include the case number, target and moderator mentions, reason, and — for timed actions — the duration.
Case system
Every moderation action creates a numbered case scoped to your server. Case numbers are sequential and assigned with an advisory database lock to prevent duplicates under concurrent actions. Cases record:- Case number and action type
- Target user ID and tag
- Moderator user ID and tag
- Reason
- Duration (for timeouts and tempbans)
- Expiry timestamp
- ID of the log message (for future edits)
/case and /history commands (admin only).