Moderation System
1. Feature Brief
Section titled “1. Feature Brief”The Moderation System is a comprehensive, GUI-driven moderation suite built on top of Discord’s native AutoMod engine. It combines real-time automatic content filtering with a full manual moderation toolkit - all configurable through slash commands and an interactive dashboard, no external config required.
- AutoMod rule management - create, toggle, and delete Discord AutoMod rules directly from a dashboard GUI without touching Server Settings
- Manual moderation actions - warn, timeout, kick, ban, unban, and purge with full role-hierarchy enforcement
- Warning system - issue numbered warnings with reasons; automatic timeout triggers when a configurable threshold is reached
- Case logging - every action creates a numbered case, optionally posted to a dedicated log channel and exportable as a
.txtfile - Flood & media spam protection - auto-timeout members who send too many messages or images in a short window, with configurable limits and role whitelists
- Moderation history - pull a full warning and case history for any member on demand
2. Sub-Systems
Section titled “2. Sub-Systems”The dashboard exposes Discord’s AutoMod rule system through a GUI so you never need to navigate Server Settings. Rules act in real-time - content is blocked the instant it’s sent.
Discord allows up to 10 rules per server. The dashboard tracks your usage and disables the create button when you hit the cap.
Available rule types:
| Rule Type | What it does |
|---|---|
| Keyword Filter | Blocks exact words or phrases you define (comma-separated) |
| Spam Protection | Discord’s AI-based spam detection (limited to 1 rule per server) |
| Mention Spam | Blocks messages that exceed a set number of @mentions |
| Preset Keywords | Enables Discord’s built-in filters: Profanity, Slurs, and/or Sexual Content |
| Link Blocker | Blocks URLs with optional domain whitelist support |
| Repetitive Text | Blocks character spam (e.g. aaaaaaa) and special character floods using regex |
All rules are created with Block Message as the default action, and if a log channel is configured, an alert is also sent there automatically.
From the Manage Rules panel you can enable/disable any rule with a single click or delete it (with a confirmation prompt).
Warnings are numbered and attached to a reason. Every warning is stored and contributes toward the configurable threshold.
- Issue a warning with
/moderation warn- the user receives a DM and a case is created - When a user’s warning count reaches the threshold (default: 3), they are automatically timed out for 1 hour
- The threshold is configurable from 1–10 via the dashboard Settings panel
- Remove a single warning with
/moderation unwarnusing its ID (visible in/moderation history) - Clear all warnings for a user at once with
/moderation clearwarnings - All warning actions are logged to the log channel and create a case entry
Flood protection runs passively on every message. It has three independent detection modes, all configurable via /moderation antiflood.
Message Flood - if a member sends more than X messages within Y seconds, the bot deletes the spam messages and times them out.
Newline Spam - if a single message contains 15 or more line breaks, the message is deleted and the sender is timed out immediately.
Media Spam - if a member sends more than X images, stickers, or GIF links within Y seconds, all detected media messages are deleted and the sender is timed out.
Whitelist support:
- Use
whitelist-roleto exempt specific roles (e.g. moderators, bots) - Run the same command again with the same role to remove it from the whitelist (toggle)
Every moderation action - manual or automatic - creates a case with a unique ID, the acting moderator, reason, and timestamp.
- All cases are visible in
/moderation history(up to 10 most recent warnings and cases per user) - If a log channel is configured, an embed is posted there for every action in real time
- Use
/moderation exportto download a full.txtlog of all warnings and cases for a specific user - useful for ban appeals or record-keeping
AutoMod rule executions are also recorded as cases internally for tracking, even though Discord handles their own logging separately.
All manual actions enforce role hierarchy - you cannot moderate someone with an equal or higher role than yourself, and the bot enforces the same check on its own permissions before acting.
| Command | Description |
|---|---|
/moderation warn | Issue a warning with a required reason |
/moderation timeout | Timeout for 1–40,320 minutes (up to 28 days) |
/moderation kick | Remove from the server |
/moderation ban | Permanent ban with optional message deletion (0–7 days) |
/moderation unban | Lift an existing ban |
/moderation untimeout | Remove an active timeout early |
/moderation purge | Bulk delete 1–100 messages; optionally filter by user |
/moderation history | View warning and case history for any member |
/moderation export | Download a full modlog as a .txt file |
All actions post to the log channel and create a case entry.
3. Setup
Section titled “3. Setup”-
Run the setup command - use
/moderation setupto initialise the system. Both options are optional but recommended:log-channel- the text channel where all moderation actions will be postedmod-role- a role that grants full moderation access without needing Discord permissions
-
Open the dashboard - run
/moderation dashboard. From here you can:- Navigate to AutoMod Rules to create and manage content filters
- Open Settings to toggle the system on/off and adjust the warning threshold
- Check Statistics for a breakdown of warnings and cases issued in your server
-
Create your first AutoMod rule - inside the dashboard, go to AutoMod Rules → Create Rule, pick a rule type from the dropdown, and fill in the modal. The rule goes live instantly.
-
Configure flood protection Optional - use
/moderation antifloodto enable message and media spam protection:/moderation antiflood enabled:true messages:5 seconds:5 timeout:2/moderation antiflood media-spam:true media-limit:3 media-seconds:5 media-timeout:1 -
Verify role position - if you enabled flood protection or AutoMod timeout actions, make sure the bot’s role is positioned above the roles you want to moderate in Server Settings → Roles.