Moderation: bans, word filter & auto-responses

Network-wide bans, a word filter with quarantine, automatic replies — plus the trusted-user whitelist.

CloudMod is more than role sync — each project ships several moderation tools. You'll find them in the project sidebar.

Network bans (cross-server)

Turn on Network bans (cross-server) under Project settings → Server setup (it appears in Network mode). When on, a ban on your main server is enforced on every sub-server: the bot bans the user there automatically. The direction is main → sub only — a ban placed on a sub-server stays on that server and never reaches the main server or the other sub-servers. Unban works the same way for the bans CloudMod placed: unban on the main server and those network bans are lifted on the sub-servers. A ban a server set itself stays until that server's team lifts it.

The Bans page lists every ban on your network's servers, grouped by user, so multi-server trolls show up as clusters.

Safeguards
  • Server owners, the bot itself and admins (Manage Server) are never banned network-wide.
  • Members whose highest role sits at or above CloudMod's are skipped — Discord wouldn't allow it anyway.
  • Whitelisted users (see below) are exempt — their bans don't propagate.
  • A loop guard prevents the bot's own ban actions from being re-processed.

Requirement: the bot needs Ban Members on every server, and its role must sit above the target user's role.

Word filter

On the Word Filter page you maintain a pattern list with three match modes: Substring, Whole word and Regex (advanced). When a message matches a pattern, the bot:

  • deletes the message,
  • optionally assigns a quarantine role,
  • sends the user a DM (your own text, or a short default message),
  • posts to the Moderation log category and writes an Audit Log entry.

Only the first matching pattern counts, so one message never triggers several DMs. Messages with only attachments or embeds (no text) aren't checked.

Bypass detection (optional)

Switch on Bypass detection on the Word Filter page and every pattern is checked a second time against a cleaned-up copy of the message. The original is always checked first, so the switch only ever catches more. It is off by default and needs no change to your patterns. It folds:

  • Leet: sp4m, $p@m
  • Separators between letters: s.p.a.m, s-p-a-m, s_p_a_m (three or more single characters in a row, so well-known stays as it is)
  • Full-width and math letters: spam, 𝕤𝕡𝕒𝕞
  • Lookalike letters from Cyrillic, Greek and Coptic, plus small capitals
  • Combining marks, accents and invisible characters: S̶P̶A̶M̶, spám

Not covered: letters split by spaces (s p a m) and masked words (sp*m) — both would flag far too much normal text. Patterns are matched as written: a pattern in another alphabet only finds text in that alphabet. Because a digit inside a word can stand for a letter (5 reads as s), a harmless word can rarely collide with one of your patterns. Plain numbers like 2024 are left alone, and the original message is never changed — it is only checked.

Exempt: bots/webhooks, server admins (Manage Server), whitelisted users and holders of the per-server filter-exempt roles (manage them with /filterexempt add, /filterexempt remove and /filterexempt list). The quarantine role must sit below the bot role; deleting requires Manage Messages.

Auto-responses

On the Auto-Responses page you create trigger → reply rules. Per rule:

  • a trigger with a match mode — Substring, Whole word, Wildcard (* ?) or Regex (advanced),
  • reply text or an embed (title + color), with the variables {user}, {server} and {channel},
  • optional random variants (up to 10) — the bot picks one at random,
  • a per-user cooldown, a scope (all or specific servers) and an optional channel restriction.

On a match the bot replies — only the first matching rule fires per message, and replies never ping anyone.

Warnings and notes

  • /warn user: reason: — warns a member by DM and records a case.
  • /note user: text: — a staff-only note; the member isn't told.
  • /cases user: — a member's warns and notes, each with its case ID.
  • /case remove case_id: reason: — removes a case from the record. Use the ID that /cases shows. The audit log keeps who removed which case and why, but not what the case said.

Warnings, notes and removed cases are posted to the Moderation log category.

Whitelist (trusted users)

Under Project settings → Whitelist (trusted users) you keep a list of trusted Discord IDs (or use /whitelist add, /whitelist remove, /whitelist list). These users are exempt from the word filter, network ban propagation, the account-age gate, Honeypot and Scam Guard — handy for known alt accounts, partners or VIPs.