Contents
Moderation Guide
The Moderation module gives your staff a complete toolkit: manual sanctions with case tracking, an automated rules engine, anti-nuke protection, and a member-driven report queue. Every action — manual or automated — creates a numbered case so the full history is auditable.

Manual Sanctions
Every sanction records a case number, the responsible moderator, the target, the reason, and a timestamp. Members receive a DM when a sanction is applied.
Warnings
/warn user:@member reason:<optional reason> duration:<optional time>
Issue a formal warning. Warnings accumulate and can trigger automod escalation once a threshold is reached.
The optional duration parameter controls how long the warning stays active before it expires and stops counting toward escalation. Accepted forms mirror the mute parser: 12h, 30d, 6mo. Passing 0 makes the warning permanent. Omit the parameter to fall back to the server default configured under Dashboard → Moderation → Warn expiry.
| Guild setting | Result on /warn (no duration:) |
|---|---|
Warn expiry unset / 0 days |
Warnings never expire. |
Warn expiry N days |
Every new warning expires N days after issuance. |
Timeouts
/mute user:@member duration:<time> reason:<optional reason>
/unmute user:@member reason:<optional reason>
Time a member out for a fixed duration. Accepted formats: 10m, 1h, 1d, 7d. Maximum duration is 28 days (Discord's hard limit). Default duration is one hour if none is given.
Kicks
/kick user:@member reason:<optional reason>
Requires Kick Members.
Bans
/ban user:@member reason:<optional reason> duration:<optional time> delete_days:<0-7>
/softban user:@member reason:<optional reason>
/unban user_id:<Discord user ID> reason:<optional reason>
/ban supports permanent bans, temporary bans (e.g. 7d), and message cleanup on ban (0–7 days, default 1). /softban bans and immediately unbans to clean up a member's recent messages without permanently removing them. Both require Ban Members.
Channel control
/purge count:<1-1000> user:<optional @member>
/slowmode channel:<optional #channel> seconds:<0-21600>
/lockdown channel:<optional #channel> reason:<optional>
/purge bulk-deletes recent messages (optionally filtered by a specific user). /slowmode adjusts rate-limiting on a channel. /lockdown prevents everyone from posting — useful during raids.
Case Management
Every sanction becomes a case. Cases can be reviewed, edited, revoked, or appealed.
/cases user:@member show_revoked:<true/false>
/case case_number:<number>
/editcase case_number:<number> field:<reason|duration|...> value:<new value>
/revokecase case_number:<number> reason:<optional>
/clearwarns user:@member reason:<optional>
Revoking a case that granted a ban or mute automatically reverses the sanction (unbans or unmutes the member). /clearwarns wipes only active warnings for a member.
Member appeals
/appeal case_number:<number> reason:<your reason>
Members can appeal a case they received. Appeals show up in the staff queue for review — accepted appeals revoke the case, declined appeals leave it in place with a note.
Message & User Context Menus
Right-click a message or user to access moderation actions without typing a command:
- Report Message — sends the message into the report queue for staff triage.
- User Info — opens a shared User Info embed with activity history, prior cases, and a quick-action toolbar.
Report Queue (Triage)
Members use the right-click Report Message action to flag problematic content. Each report lands in a staff-only triage channel with:
- A link button that jumps straight to the reported message.
- One-click sanction buttons (warn / mute / kick / ban) that open pre-filled case dialogs.
- A rate limit per reporter so the queue can't be spammed.
Accepted triage actions keep the sanction buttons available so a single report can escalate over multiple staff actions.
AutoMod
The AutoMod engine runs rules on every message. Rules are multi-condition and multi-action, configured from the dashboard:
- Content filters: banned words (regex supported), caps ratio (with a configurable minimum letter count so short exclamations and digit-heavy lines such as game IDs pass), link whitelist, attachment filters, mention limits.
- Escalation: each rule can define its own escalation ladder (e.g. 1st offence → warn, 2nd → 10m mute, 3rd → kick).
- Exceptions: exempt specific roles or channels per rule.
- Dashboard preview: test a rule against an arbitrary message before enabling it live.
AutoMod sanctions are ordinary cases, so members can see them in /cases and appeal them via /appeal.
Match modes on threshold rules
Threshold-based rules (mentions, caps ratio, attachment counts, message-per-window rules) support three ways of comparing the actual count against your target:
| Match mode | Fires when… | Example |
|---|---|---|
gte (default) |
The count is at least the threshold. | "3 or more mentions in one message." |
exact |
The count matches the threshold exactly. | "Exactly 5 messages in 10 seconds." |
range |
The count sits inside [threshold, threshold_max]. |
"Between 4 and 7 attachments in 15 seconds." |
Range and exact rules only decide at the end of their window, so a fast run of 20 messages in the first second cannot short-circuit an "exactly 5" rule.
Custom filter scope and attachment matching
Custom filters have an explicit scope so the same rule engine can match against message text, uploaded attachments, or both.
| Scope | What it matches |
|---|---|
content (default) |
The written message content. |
filename |
The uploaded file(s): filename, content type, and byte size. |
both |
Either the message content or an attachment. |
A filename-scoped filter can constrain any combination of:
- Filename pattern: plain substring or full regex.
- Content type prefix: for example
image/,video/,application/. - Maximum size in bytes: anything above the limit is a hit.
Attachment series and multi-channel spread
Two dedicated rule types target the newer flavour of attachment abuse:
- Attachment series (
attachmentSeries): flags a user who posts a numbered sequence of files such asIMG_0001.jpg,IMG_0002.jpg,IMG_0003.jpginside the configured window. Levlix collapses digit runs to a shared key, so it fires on a real series (two or more distinct numbered names sharing a stem) rather than the same file re-posted. - Attachment channel spam (
attachmentChannelSpam): flags a user who scatters attachments across multiple channels in a short window, a common pattern for gore/CSAM raids and NSFW spam. Configure the number of channels and the window length independently.
Both rules feed into the standard escalation ladder and produce ordinary cases.
Discord AutoMod
Discord ships its own AutoMod: server-side rules that block a message before it is posted and keep working while a bot restarts. Levlix does not replace it. The two engines are good at different things, and the Dashboard → Moderation → Discord AutoMod page lets you run both from one place.
| Discord AutoMod | Levlix AutoMod | |
|---|---|---|
| When it acts | Before the message is posted | After the message arrives |
| Runs while the bot is offline | Yes | No |
| Patterns over time (floods, duplicates, attachment series) | No | Yes |
| Cases, DMs, escalation, appeals | No | Yes |
| Best for | Slurs, phishing phrases, mention floods, Discord's word lists | Everything that needs context or a record |
Discord AutoMod is a module of its own and off by default. Enable it under Dashboard → Modules like Moderation; it depends on the Moderation module for cases, filters and the mod-log channel, and it has its own release phase in the Module Release Manager.
Permission
Discord only lets a bot read, create and watch AutoMod rules when it holds Manage Server. Levlix does not ask for that permission on install. When it is missing, the Discord AutoMod page shows a card with a re-authorize button that opens Discord's authorization for this server only, with Manage Server added. Alternatively grant it under Server Settings → Roles → Levlix. Without the permission the page shows no rules, no cases are created from Discord's actions, and the Security Check reports the missing permission.
Managing rules
The page lists every rule live from Discord, with its trigger, actions, exemptions and a badge for rules Levlix created. Admins can create keyword, mention spam, spam and keyword-preset rules, edit them, switch them on and off and delete them. Rules created in Discord's own settings show up as well and can be edited the same way. Member-profile rules are shown but edited in Discord. Older servers may also see a rule of Discord's retired harmful-link type: Discord's settings page hides it, the API still returns it, so the count here can be one higher than in Discord.
Five templates are ready to adopt with one click. The page shows what each contains before you adopt it; an adopted template is an ordinary rule you can switch off, edit or delete later:
| Template | What it does |
|---|---|
| Mention spam | Blocks messages with five or more mentions and mass-mention raids |
| Commonly flagged words | Enables Discord's maintained lists for profanity, sexual content and slurs |
| Spam content | Enables Discord's spam detection |
| Scam & phishing | Blocks Nitro and Steam gift bait, airdrop and skins giveaways, HypeSquad recruitment and lookalike domains such as dlscord or steamcommunlty, in English and German |
| Server invites | Blocks invite links to other servers; this server's vanity URL and active invites are added to the allow list automatically |
The first three use Discord's built-in triggers, which exist once per server. The Security Check finding "No active AutoMod rules" installs exactly these three as a one-click fix. Scam & phishing and Server invites are keyword rules and each take one of the six keyword-rule slots a server has; the lists behind them come from the large public phishing-domain collections and known scam wording, and you can edit, extend or delete the rule afterwards like any other. When a mod-log channel is configured, presets also send an alert there.
Cases from Discord's actions
With Create cases from Discord AutoMod switched on (the default), Discord's actions land in the case log. A blocked message becomes an informational case that does not count toward escalation, because Discord already prevented it. A timeout applied by Discord AutoMod becomes a timeout case with its duration, like a timeout set by hand. Members see these cases in /cases.
Mirroring the word filter
With Mirror word filters to Discord AutoMod switched on, Levlix keeps one native keyword rule named Levlix: Word filter mirror in step with your word filter. Plain words and wildcards with * at the start or end are pushed to Discord, so they block before the message is posted. When the rule fires, Levlix applies the matching filter's action, sends the DM and writes the case as if the filter had matched locally. Edit the filters in Levlix, not the rule; Levlix overwrites the rule on the next sync.
Not mirrored, and still checked by Levlix on its own: regex filters, filters limited to specific channels, filters with their own exempt roles, wildcards in the middle of a word, entries over 60 characters, and everything beyond Discord's limit of 1,000 keywords per rule (the most severe entries are kept). The page shows how many entries were mirrored and skipped and when the last sync ran. The global immune roles and channels from the moderation settings become the rule's exemptions.
Anti-Nuke Protection
Anti-Nuke watches for mass-destructive actions by compromised or malicious staff accounts:
- Rapid role deletions, channel deletions, mass bans, and webhook creation spikes.
- Configurable thresholds per action type.
- Response actions: alert staff, strip the offending actor's roles, or remove them from the server entirely.
- Whitelists for trusted bots or staff integrations.
Permission Requirements
| Command | Permission |
|---|---|
/warn, /mute, /unmute, /clearwarns, /revokecase, /editcase |
Manage Server |
/kick |
Kick Members |
/ban, /softban, /unban |
Ban Members |
/purge |
Manage Messages |
/slowmode, /lockdown |
Manage Channels |
/cases, /case |
Everyone (members see their own cases only) |
/appeal |
Everyone |
| Discord AutoMod page (dashboard) | Moderator to view, Admin to change; the bot needs Manage Server |
Setup
All rules, thresholds, and anti-nuke settings are configured via the Levlix Dashboard → Moderation. Slash commands are reserved for live intervention during an incident; day-to-day configuration belongs in the dashboard.