MOD DASHBOARD

📖 Documentation

Everything the bot does and how to configure it.

🚀 Getting Started

  1. Invite the bot using the invite link.
  2. Run /set log #channel to choose where violation alerts go.
  3. Log in to this dashboard with Discord and open Config to tune features per server.

🛡️ Slur & Bypass Detection

Every message is scanned against the blocklist with a multi-layer bypass engine that defeats common evasion tricks:

  • Normalization — leet-speak (n1gg3r), separators (n.i.g.g.e.r), unicode look-alikes, zero-width characters, emoji letters
  • Fuzzy matching — catches misspellings within a configurable edit distance
  • Phonetic matching — catches sound-alike spellings
  • Encodings — ROT13, Caesar shifts, reversed text, pig latin
  • Letter-stitch — letters spread across multiple messages
  • Translation — non-English messages are translated and re-scanned (premium)
  • Self-learning — new bypass variants are harvested and can be auto-promoted to the blocklist

Per-server custom words and whitelists are managed on the Blocked Words and Whitelist pages.

🔒 Locked terms: a small set of child-safety terms and hard racial slurs is permanently blocked and can never be exempted in any server — not by a server admin, not via the dashboard. Attempts to exempt them are rejected and reported to the bot owner.

🤖 AI Context Moderation (premium)

For borderline detections, the bot asks an AI how the flagged term is actually being used before acting — so a quote or a reclaimed word isn't punished like an attack.

  • Attack — aimed at someone → punished as normal
  • Quote / Reclaim / Discuss → logged for mods, but not punished
  • Benign — false positive → vetoed silently

High-confidence exact matches skip the AI; every failure mode fails open so detection never gets weaker.

🖼️ Image Scanning

  • OCR — text inside images and GIFs is extracted and scanned like a normal message (premium)
  • NSFW detection — explicit nudity in images is detected and deleted automatically when enabled (premium)
  • Profile pictures — avatars are OCR-scanned on join and on avatar change; usernames, display names, and nicknames are scanned too

🔐 Verification Gate

Hold risky new joiners behind an unverified role until they pass a one-click Verify button. Set it up with /verification setup.

  • Triggers — gate everyone, or only young accounts, accounts with no profile picture, or anyone joining during a raid burst
  • One click — verifying swaps the unverified role for your member role and logs a case; the button keeps working after a bot restart
  • Raid-aware — during a join-burst the gate automatically holds everyone

Set the unverified role's channel permissions to deny View/Send so gated users can't talk until verified.

🔥 Heat Escalation

Each violation adds heat to the offender (1–1.5 points, scaled by detection confidence). Heat decays over time — by default it halves every 60 minutes. Crossing a threshold triggers an automatic action:

  • Timeout at 3 heat (default) — temporary mute
  • Kick at 5 heat
  • Ban at 7 heat

A user who slips up once cools off before ever reaching a threshold; someone spamming slurs crosses all three in minutes. Thresholds and decay rate are configurable per server.

Need to forgive someone early? Use /clearheat user:@member to reset one person's heat, or /clearheat with no user to cool down everyone in the server (requires Manage Server).

Heat is saved to the database, so repeat offenders keep their accumulated heat even if the bot restarts — no clean slate on every redeploy.

🚨 Anti-Raid & Mass-Mention

When a burst of members joins within the raid window, the bot can automatically slow down your public channels to break the raid's momentum, then lift the slowmode on its own once the configured duration passes (it even restores correctly if the bot restarts mid-raid).

Mass-mention protection deletes any message that pings more than your set limit of users/roles, or uses @everyone/@here. Choose whether it just deletes the message or also times the sender out.

Configure both in the dashboard's Alt & Raid Detection and Mass-Mention Protection sections — per server.

🧹 Filtered Purge

/purge bulk-deletes recent messages with optional filters you can combine: by user, by keyword (contains), or by type — invites, links, bots, or embeds.

Example: /purge amount:50 filter:invites clears the last 50 messages that contain Discord invites, leaving everything else untouched.

🚨 Server Protection

  • Anti-nuke — alerts when mass bans, kicks, or channel/role deletions happen within a short window (premium)
  • Anti-spam — detects message floods, including cross-channel floods
  • Alt detection — flags (or kicks) accounts younger than a configurable age on join
  • Raid alerts — warns when an unusual number of members join within seconds
  • Invite filter — auto-deletes Discord invite links
  • Phishing filter — auto-deletes Discord-impersonating scam domains
  • Ban sync — link your servers with /bansync link so a ban in one mirrors to the others (opt-in, admin in both servers required)

📨 Ban Appeals

When someone is banned, the bot DMs them a private appeal link. Their appeal lands in your log channel with Approve / Reject buttons and on the dashboard's Appeals page. Approving unbans the user and DMs them a one-use invite back. One pending appeal per user per server. Toggle per server under Config → Ban Appeals.

🎫 Tickets

Run /ticketpanel in a channel to post an Open Ticket button. Each ticket becomes a private thread visible only to the opener and moderators, with a close button that posts a full transcript to your log channel. Use it for reports, questions, and partner applications.

📌 Sticky & Weekly Messages

Two ways to keep a message in front of your members without pinning it.

  • Sticky/sticky set message re-posts a message at the bottom of the channel after other people talk, so it never scrolls away. /sticky clear removes it.
  • Weekly reminders/weeklyreminder set name #channel message posts a message to a channel once every 7 days. Each reminder has its own name, so one server can run several at once in different channels.

/weeklyreminder show lists every reminder; add a name to see that one's full text and when it next posts. /weeklyreminder clear name stops one. Both features need Manage Messages, and weekly reminders are off until you set one.

💾 Backups & Snapshots

Two independent safety nets for your server's structure. Both restores are non-destructive — they recreate what's missing and never delete what's there.

  • Backups/backup create label saves roles, channels and permissions. /backup list, /backup restore id, /backup delete id.
  • Snapshots — the same idea keyed by a name you choose: /snapshot create name, /snapshot list, /snapshot restore name, /snapshot delete name.

Take one before any big restructure, and after a nuke attempt you can rebuild what was deleted.

🔒 Lockdown

/lockdown reason strips @everyone's permission to send messages in every channel at once — the emergency brake when an attack is in progress. /unlockdown restores exactly what it changed, so channels that were already locked before stay locked.

🎉 Member Experience

  • Welcome & goodbye/welcome setup #channel and /goodbye setup #channel post an embed on join/leave. Supports {user}, {username}, {server} and {count}. Preview with /welcome test.
  • Auto-roles/autorole add @role gives every new member a role automatically.
  • Role persistence/rolepersist on gives a member their roles back if they leave and rejoin, so people can't drop a mute by rejoining.
  • Reaction roles/reactionrole add message_id emoji @role hands out a role when someone reacts. /reactionrole list shows every mapping.
  • Starboard/starboard #channel threshold emoji reposts a message once it reaches that many reactions (⭐ by default).
  • Live stats channels/statschannel set channel stat turns a voice channel's name into a live counter, refreshed every 10 minutes.

💌 Modmail & ❓ FAQ Panel

  • Modmail/modmailsetup #channel lets members DM the bot to open a thread with your staff. Messages relay both ways; /modmailclose ends the thread.
  • FAQ panel — add entries with /faqadd question answer, then post a dropdown with /faqpanel that answers common questions instantly. /faqlist shows every entry with its ID and /faqremove id deletes one. Re-run /faqpanel after editing to refresh the dropdown.

🚫 No-Contact Orders

Keep two members apart without banning either of them. /nocontact add @user_a @user_b stops them replying to, mentioning, or reacting to each other; breaches are logged and repeated breaches auto-warn.

/nocontact addnick teaches it nicknames a user goes by so name-drops are caught too. /nocontact list, /nocontact remove, and /nocontact setlog #channel for a dedicated log channel.

📝 Per-Server Whitelist

Stop the filter flagging a word in your server only, without touching the global blocklist: /whitelistword word to exempt it, /unwhitelistword word to start flagging it again, /unwhitelistphrase phrase for a whitelisted phrase, and /listwhitelistwords to see everything exempted here. The same list is editable on the Whitelist page.

Locked child-safety and hard-slur terms can never be whitelisted — see Slur & Bypass Detection above.

☕ Mod Breaks

/break @member days marks a moderator as away so they're skipped by staff pings. /breakend ends a break early and /breaks shows who's currently out.

🆕 New Features (2026)

🔄 Discord Native AutoMod Sync

Run /automod_sync to push your blocked word list directly into Discord's own AutoMod engine (up to 6 rules × 1,000 keywords = 6,000 words blocked at the Discord level, even when the bot is offline). The last rule also catches slurs in member bios and nicknames.

📊 Server Health Dashboard

The Server Health page shows Chart.js charts for violations per day (30-day trend), by hour of day (heatmap), by category, top offending users, top flagged channels, and cross-server threat scores.

⚠️ Cross-Server Threat Intelligence

Every ban increments a global threat score for that user across all servers running this bot. When someone joins with a score ≥ your threshold (Config → Cross-Server Threats), the bot warns in the log channel. Top threats are visible on the Server Health page.

🖼️ Deepfake / AI Image Detection

Enable deepfake_detection_enabled in Config and add your Sightengine API keys. The bot will flag AI-generated images (DALL-E, Midjourney, etc.) in addition to the NudeNet NSFW scan. Free tier: 500 API calls/month.

🧬 Behavioral Fingerprinting

On ban, the bot saves a writing-style fingerprint (message length, punctuation ratio, common words). When a suspicious new account sends 5+ messages, their style is compared — if it matches a banned user at ≥ 80%, a warning fires in the log channel.

🚨 Raid Incident Mode

Enable raid_incident_mode_enabled so the bot calls Discord's native server lockdown API (invites_disabled_until + dms_disabled_until) during join-burst raids, in addition to auto-slowmode.

⏸️ Quarantine Escalation

A new escalation tier between kick and ban: a 28-day timeout (Discord's maximum). Fires when a user's heat score reaches escalation_quarantine_threshold (default: 4). Configurable in the Config page.

🔧 Anti-Nuke Upgrade

Anti-nuke bans now use Discord's bulk_ban() API for faster, atomic action — deleting 24 hours of the attacker's messages in one call. Audit log now also covers scheduled events, channel pins, soundboard sounds, and native AutoMod actions.

⌨️ Key Commands

CommandWhat it does
/set log #channelSet the violation log channel (admin)
/set report #channelSet the report channel (admin)
/automod_syncPush blocked words to Discord's native AutoMod (admin)
/settranslationToggle translation scanning (admin)
/premiumCheck this server's premium status
/history @userFull mod record: cases, violations, heat (mod)
/note @user textAdd a private mod note to a user's record (mod)
/ticketpanelPost a ticket panel in this channel (admin)
/ticketcloseClose the current ticket thread
/bansync link idMirror bans with another server you admin
/sticky set messageKeep a message at the bottom of a channel (mod)
/weeklyreminder set name #channel messagePost a message there every 7 days (mod)
/weeklyreminder showList this server's weekly reminders (mod)
/lockdown [reason]Lock every channel during an attack (admin)
/unlockdownUndo a lockdown (admin)
/backup create [label]Save roles, channels and permissions (admin)
/backup restore idRecreate anything missing from a backup (admin)
/snapshot create nameSave the server structure under a name (admin)
/verification setupEnable and configure the verification gate (admin)
/whitelistword wordStop flagging a word in this server only (admin)
/listwhitelistwordsShow everything whitelisted here (admin)
/nocontact add @a @bKeep two members from interacting (admin)
/starboard #channel nRepost messages that hit n reactions (admin)
/statschannel set channel statShow a live stat as a channel name (admin)
/rolepersist onRestore roles when a member rejoins (admin)
/reactionrole add id emoji @roleGive a role on reaction (admin)
/modmailsetup #channelRoute member DMs to a staff channel (admin)
/faqadd question answerAdd an entry to the FAQ panel (admin)
/welcome setup #channelPost a welcome embed on join (admin)
/autorole add @roleGive every new member a role (admin)
/breaksShow which mods are on break
/bugreport descriptionReport a bug in the bot to its owner
/suggest descriptionSuggest a feature or change for the bot
!warn @user [reason]Issue a formal warning (mod)
!history @userView a user's violation history (mod)

🐛 Bug Reports & 💡 Suggestions

Found something broken? Run /bugreport description anywhere the bot can see — in a server or in a DM to the bot — and it goes straight to the bot owner with your username, the server and channel, and the bot version you hit it on. Anyone can use it; there's a 30-second cooldown per person, and every submission is recorded so nothing is lost even if a notification doesn't get through.

Got an idea instead of a problem? /suggest description works exactly the same way and lands in the same place — say what you'd like the bot to do and what it would be useful for. The two have separate cooldowns, so reporting a bug doesn't stop you sending a suggestion straight after.

For bugs: say what you did, what happened, and what you expected instead — that's usually enough to reproduce it. For moderation problems in your own server (a false positive, a wrong punishment), use the Whitelist page or /history instead; those aren't bot bugs.

★ Premium

Premium unlocks OCR scanning, NSFW image detection, deepfake detection, translation scanning, anti-nuke, self-learning, behavioral fingerprinting, and unlimited custom words & violation history. Check /premium in your server for current status. Ko-fi payments must include the exact claim note shown by /premium or the Dashboard Premium page, for example Server ID 123 claim abc123.... Payments without the matching claim code are not granted automatically. Get premium →