Automod

Automod is the catch-all term for the layered moderation Zippy Wall runs on every message — link scanning, scam-phrase detection, custom banned phrases, mention-spam, and account/tenure gates. This page covers how each layer works and how to tune it.

The layers, in order

When a message arrives, Zippy Wall walks it through this exact sequence. The first layer that matches takes the configured action and the rest are skipped.

  1. Exemption checks — server owner, Administrator perm, exempt users, exempt roles, ignored channels. Pass = skip everything else.
  2. Lockdown gate (if active) — blocks all links + young accounts.
  3. Server-tenure gate — block posts from members who joined less than N minutes ago.
  4. Min account-age gate — block all posts from accounts younger than N days.
  5. Mention-spam guard — block messages with too many user/role mentions.
  6. Custom banned phrases — substring, whole-word, or glob matching against your phrase list.
  7. Preset packs — 9 curated scam-pattern packs (gamer scams, profanity, crypto, Roblox, CS:GO, etc.).
  8. URL extraction + classification — for any URLs in the message, runs threat intelligence + heuristics.

Each layer can be disabled by setting its threshold to 0 or leaving the list empty. Ordering is deliberate — cheap checks (lockdown, gates) run before expensive ones (URL classification).

URL classification

For every URL in a message, Zippy Wall runs a classifier that combines multiple sources:

  • Built-in scam-domain list (free tier) — curated list of known phishing/scam domains that's updated continuously.
  • Heuristic detection (free tier) — catches typo-squat impersonators like dlscord.com, steamcomnunity.com using string-distance matching against legitimate domains.
  • Multi-source threat intelligence (Pro) — live feeds for fresh phishing URLs that haven't been added to the built-in list yet.
  • Per-server allowlist — domains in your allowlist always pass through, no matter what other sources say.
  • Per-server blocklist — domains in your blocklist always trigger the configured action.

Threshold sensitivity (20–95) controls how strict the heuristics are. 60 is the balanced default; raise for stricter, lower for more permissive.

Preset packs

Nine curated banned-phrase packs you can enable per-server. Each one targets a specific scam pattern observed in real Discord raids.

PackTargets
Gamer scamsFree Nitro DMs, fake CS:GO drops, Steam gift impersonators
ProfanityComprehensive English profanity (LDNOOBW), whole-word matched to avoid false positives
Crypto / NFT scamsAirdrop phishing, wallet-connect drainers, fake presales
ImpersonationCatches messages pretending to be Discord/Twitch/Steam staff
Roblox scamsFree Robux generators, fake gift drops, Roblox phishing rotators
CS:GO / CS2 skinsFree skin drops, fake case openers, knife giveaway baits
Fortnite V-BucksV-Bucks generators, free skin baits, gift-card phishing
OSRS / RuneScapeCheap-gold spam, RWT advertising, account-buying hooks
MMO account theftAccount-buying, level-boosting, real-money trade across MMOs

Free tier caps you at 2 enabled packs; Pro enables all 9 plus per-preset action overrides.

Custom banned phrases

Add your own phrases on top of the preset packs. Three match modes:

  • Substring — "free nitro" matches any message containing those words anywhere.
  • Whole-word — "ass" matches "ass" but not "assassin". Single words default to whole-word.
  • Glob (Pro) — *shit* catches "shit", "bullshit", "ohshit-bro". sh?t catches "shit", "shat", "shot". Covers ~95% of regex use cases without the regex-injection risks.

Free tier caps you at 10 custom phrases; Pro is unlimited.

Mention-spam guard

Set a threshold for the maximum number of mentions per message. @everyone counts as 5; user and role mentions count as 1 each. Messages over the threshold trigger the configured action. Typical sane value: 5. Default: 0 (disabled).

Account-age and tenure gates

Three gates that block posts based on how new the account or membership is. See the dedicated sections in the dashboard:

  • Min account age for links — accounts younger than N days can't post URLs. Catches throwaway phishing accounts. Default 30 days.
  • Min account age to post — broader gate, blocks all messages (not just URLs) from accounts under N days. Stricter; default 0 (disabled).
  • Min server tenure — members must be in this server for N minutes before posting. Catches drive-by raid bots. Default 10 minutes after onboarding.

Actions

When any layer triggers, the configured Global Action fires:

  • Delete — remove the message (free + Pro)
  • Warn — log only, no removal (free + Pro)
  • Censor — re-post the message with banned phrases replaced by ▓▓▓ (free + Pro)
  • Mute (timeout) — Discord timeout for the configured duration (Pro)
  • Kick — remove the user from the server (Pro)
  • Ban — permanent ban + delete last 10 minutes of messages (Pro)

Pro tier also unlocks per-preset action overrides (e.g. DELETE crypto-scam phrases, BAN impersonation phrases) and per-channel overrides (different threshold or action in specific channels).

Recommended starting setup

  1. Click Apply recommended defaults on the dashboard. This sets a balanced baseline.
  2. Enable the preset packs that match your community (Roblox server → Roblox + Gamer scams + Profanity; crypto server → Crypto + Gamer scams + Impersonation).
  3. Set mod-log channel so you can see every action the bot takes.
  4. Watch the mod log for a week. Tune custom phrases for anything the presets miss.
  5. If you see false positives, lower the Sensitivity threshold or add legitimate domains to your allowlist.

Marketing overview: /automod. Configure in your dashboard.