Docs / Moderation
Moderation
MARVIN's Moderation feature gives you every standard mod action — warn, mute, kick, ban, unban, softban, plus private notes — with full logging and optional auto-escalation on repeated warnings. Every action works both as a Discord slash command and as a button on the Warnings & bans page in your dashboard.
Slash commands
Required permission shown in the right column. The bot also needs the equivalent permission to actually carry out the action.
| Command | What it does | Required perm |
|---|---|---|
/warn <user> [reason] | Logs a warning, DMs the user, may auto-escalate. | Moderate Members |
/note <user> <text> | Private mod note (not DM'd). | Moderate Members |
/mute <user> <duration> [reason] | Discord native timeout. Max 28d. | Moderate Members |
/unmute <user> [reason] | Removes timeout. | Moderate Members |
/kick <user> [reason] | Kicks + DMs (DM is sent before the kick). | Kick Members |
/softban <user> [reason] [delete_days] | Ban + immediate unban — purges recent messages. | Ban Members |
/ban <user> [reason] [duration] [delete_days] | Ban (optionally tempban). delete_days 0–7. | Ban Members |
/unban <user_id> [reason] | Unban by user ID. | Ban Members |
/pardon <case_id> [reason] | Marks an infraction revoked. Drops it from the 30d count. | Moderate Members |
/case <id> | Show one infraction. | Moderate Members |
/cases <user> | Last 25 cases for a user. | Moderate Members |
/selfmute <duration> | Voluntary timeout. Max 7d. | (anyone) |
Duration formats: 30s, 5m, 2h, 7d, 4w. You can chain: 1h30m. Bare numbers are seconds.
Auto-escalation
Every /warn triggers an escalation check. The bot counts non-revoked warns for that user in the last 30 days and applies the highest-priority rule that's armed (ban > kick > mute). Set a threshold to 0 to disable that tier.
escalation:
warns_per_30d_to_mute: 3 # → auto-mute for the configured duration
mute_duration_seconds: 3600 # 1 hour by default
warns_per_30d_to_kick: 5
warns_per_30d_to_ban: 0 # offConfigure these on your server's dashboard → Features → Moderation. Pardoning a warning (/pardon or the dashboard button) drops it from the count, so escalation is reversible.
Dashboard
Every action above is available on Infractions in the per-guild dashboard:
- The action panel at the top: pick action, paste user ID, set reason / duration, submit. Result lands in ~2s.
- Per-row Pardon and Delete buttons. Pardon = revoke (auditable). Delete = wipe the row entirely.
- Filter by user ID or by action type.
A dashboard action reaches the bot within about 2 seconds. The same result happens whether you used a slash command or the dashboard button.
What gets recorded
Every action creates:
- An entry in the member's case history (type, who did it, reason, duration) — view it with
/casesor on the Warnings & bans page. - An entry in your server's Activity log.
- A message in your mod-log channel (set it under Features → Activity log).
- A DM to the member with the reason, when their DMs are open.
Related: main docs · the Activity log feature for choosing where mod actions are posted · the Tickets feature (which can drop a note in a member's open ticket when they're actioned).