🛡️ Moderation & safety
This is the everyday toolkit for keeping your server in order — logging warnings, timing people out, removing troublemakers, and slamming the doors shut when a raid hits. Every command here runs as a Discord slash command, works in any channel, and writes to your log channel so you always have an audit trail.
Who can run these: the server owner, anyone with a matching staff role, or anyone holding the equivalent Discord permission. Where a command needs a specific capability (like warn or ban), the bot checks that before acting and politely refuses if you’re missing it.
Commands are tagged so you know what you’re looking at:
FREE available on every plan · ADMIN requires a staff role or permission · AI uses AI tokens
Warnings & notes
Build a paper trail. Warnings are on-the-record and the member is told; notes are private staff context the member never sees. Both are numbered so you can refer back to — or tidy up — individual entries later.
Issue a warning to a member. It's logged with a number, the member is notified, and it feeds the punishment ladder and threat signals.
| Argument | Type | Notes |
|---|---|---|
user required | member | The user to warn. |
reason required | text | Reason for the warning. |

Look up a member's warning history. The reply is private to you (ephemeral).
| Argument | Type | Notes |
|---|---|---|
user required | member | The user to look up. |

Add a private staff note to a member. Notes are for your team only — the member is never told.
| Argument | Type | Notes |
|---|---|---|
user required | member | The user the note is about. |
text required | text | The note to record. |

View the private staff notes on a member. The reply is private to you.
| Argument | Type | Notes |
|---|---|---|
user required | member | The user to look up. |

Tidying up — /manage-warnings & /manage-notes
Need to remove an old entry? These open a small private panel with a dropdown of the member’s warnings (or notes). Tick the ones to remove and the list updates instantly — handy when a warning was a mistake or has simply aged out.
View and remove a member's warnings from a private dropdown panel. Needs the warning capability.
| Argument | Type | Notes |
|---|---|---|
user required | member | The user to manage warnings for. |
View and remove staff notes on a member from a private dropdown panel. Needs the notes capability.
| Argument | Type | Notes |
|---|---|---|
user required | member | The user to manage notes for. |

Pick what to remove. The dropdown lists each warning with its number, reason and who issued it. It's a multi-select, so you can clear several at once.

The list updates in place. The selected warnings are gone and the total drops. Once a member has no warnings left the dropdown simply shows (no warnings) and goes quiet. /manage-notes works exactly the same way for notes.
Quick actions
The fast everyday tools — calm a channel, cool someone down, tweak a nickname or hand out a role. None of these remove anyone; they’re the lighter touch.
Time a member out for a set number of minutes — they can't talk or react until it lifts. Works in any channel.
| Argument | Type | Notes |
|---|---|---|
user required | member | User to mute. |
minutes required | number | Duration in minutes (1–40320, i.e. up to 28 days). |
reason optional | text | Optional reason for the log. |

Lift a member's timeout early. Works in any channel.
| Argument | Type | Notes |
|---|---|---|
user required | member | User to unmute. |

Set how long members must wait between messages in a channel — great for slowing a busy chat. Works in any channel.
| Argument | Type | Notes |
|---|---|---|
seconds required | number | Seconds between messages (0 to disable, max 21600). |
channel optional | channel | Which channel — defaults to the one you're in. |

Stop (or restore) @everyone being able to send messages in a single channel. Use it to pause a heated thread, then reopen it. Works in any channel.
| Argument | Type | Notes |
|---|---|---|
channel optional | channel | Which channel to lock or unlock — defaults to the one you're in. |

Change a member's nickname — or leave it blank to reset them to their username. Works in any channel.
| Argument | Type | Notes |
|---|---|---|
user required | member | The member to rename. |
nickname optional | text | The new nickname — leave blank to reset. |

Add or remove a role from a member. The bot enforces your role hierarchy — it won't touch managed roles, @everyone, or anything above its own (or your) top role.
| Argument | Type | Notes |
|---|---|---|
action required | choice | add or remove. |
user required | member | The member to update. |
role required | role | The role to add or remove. |

Removals
When a warning won’t cut it. From the gentle nudge of a kick, through temporary and permanent bans, to a soft-ban that clears recent messages but lets the person rejoin. Every removal is logged with a one-tap reversal where it makes sense.
Remove a member from the server. They can rejoin with a fresh invite — it's the lightest removal. Works in any channel.
| Argument | Type | Notes |
|---|---|---|
user required | member | User to kick. |
reason optional | text | Optional reason for the log. |

Permanently ban a user — and you can optionally wipe their recent messages. Works even on someone who has already left.
| Argument | Type | Notes |
|---|---|---|
user required | user | User to ban (works even if they've already left). |
reason optional | text | Optional reason for the log. |
delete_days optional | number | Days of their messages to delete (0–7). Defaults to 0. |

Lift a ban by the user's ID. Works in any channel.
| Argument | Type | Notes |
|---|---|---|
user_id required | text | The banned user's numeric ID. |
reason optional | text | Optional reason for the log. |

Ban then immediately unban — a quick way to clear a member's recent messages and boot them while still letting them rejoin. Works in any channel.
| Argument | Type | Notes |
|---|---|---|
user required | user | User to soft-ban. |
reason optional | text | Optional reason for the log. |

Ban a user for a set time, then auto-unban them. The timer survives a bot restart. Works in any channel.
| Argument | Type | Notes |
|---|---|---|
user required | user | User to ban. |
duration required | text | How long, e.g. 30m, 2h, 7d, 1w (1m–28d). |
reason optional | text | Optional reason for the log. |
delete_days optional | number | Days of their messages to delete (0–7). Defaults to 0. |

Bulk & raid response
The heavy machinery — clear a flood of messages, slam every channel shut at once, and shut the door on ban-evading alts. Plus the alert the bot raises on its own when it spots a raid in progress.
Bulk-delete recent messages. In Smart mode the AI reads the messages and removes only the problematic ones, after showing you a preview to confirm. Works in any channel.
| Argument | Type | Notes |
|---|---|---|
count required | number | How many recent messages to scan or delete (1–200). |
user optional | member | Only delete this member's messages. |
mode optional | choice | All recent messages (default) or Smart — AI removes only the problematic ones. The AI tag applies to Smart mode only. |

Smart purge — preview before anything is deleted
Run /purge with mode: Smart and the AI reads the recent messages, decides
which to keep and which to remove, and shows you a preview first. Nothing is
deleted until you press the button — and removed messages are archived to your
log channel for review.
Smart mode. The AI scans the last 50 messages and classifies each as keep or remove — it never deletes blindly.

Review, then choose. The preview lists who'd be removed and why. Only the person who ran the command can confirm. Cancel leaves everything untouched.

Done. The flagged messages are gone, the rest are untouched, and a copy of everything removed is saved to your log channel so you can double-check the AI's call.
Lock or unlock every channel at once — your fastest raid response. start shuts everything and remembers the prior permissions; end restores them exactly.
| Argument | Type | Notes |
|---|---|---|
action required | choice | start = lock all channels, end = restore prior permissions. |
reason optional | text | Optional reason for the log. |

Repeat-offender detection. When it's on, likely ban-evading alts are flagged — or auto-banned when the match is confident — the moment they join. Only an admin or the owner can change this.
| Argument | Type | Notes |
|---|---|---|
mode required | choice | on, off or status. |

When the bot spots a raid
You don’t have to be watching. If a burst of accounts joins in a short window, Server Assistant raises a raid alert in your log channel, pings the owner, and hands you two buttons — lock everything down on the spot, or dismiss it as a false alarm.

🔒 Lock down runs a full /lockdown on the spot — every
channel shut, prior permissions saved — and tells you how many channels were
locked. Lift it later with /lockdown end. Dismiss
clears the alert if it was a false alarm. Either button only works for staff with
the lock capability or the Manage Channels permission. The join threshold and
time window are configurable per server.
See also
- The
/setupwizard — configure channels, staff roles and anti-raid in about a minute - Settings & dashboards — AutoMod, the punishment ladder and per-feature panels (coming soon)
- AI & intelligence — how AI features like Smart purge are tiered and metered (coming soon)
- Back to the Wiki hub