Skip to content

Spam ​

The most-impactful single rule on most servers. Catches three patterns of spam in one rule, using rolling time-windows.

Phantom spam automod settings for Discord with message rate thresholdsAutomod → Repeat spam.

What it catches ​

TriggerWhat it detects
RateToo many messages from one user in a short window.
DuplicateSame content posted multiple times (independent of channel).
Cross-channelOne user posting in too many different channels in a short window — classic raid behaviour.

A single rule can use any combination of the three; tripping any one of them counts as one hit.

Settings ​

SettingWhat it does
Window (seconds)Rolling window for rate + duplicate detection. Default 10.
Rate thresholdMax messages-per-window. Default 5. Set 0 to disable rate detection.
Duplicate thresholdMax repeated copies of the same content. Default 3. Set 0 to disable.
Cross-channel thresholdMax distinct channels. Default 3. Set 0 to disable.
Cross-channel windowOptional wider window for cross-channel only. Defaults to 30 seconds, or the main window if that is longer.

Cross-channel detection is on by default, including on rules created before the setting existed — those rules previously ran with it off until someone re-saved them. If it is too sensitive for your server, set the threshold to 0.

Tips ​

  • Start at the defaults, then tune as you see false positives. 5 in 10s is wide enough that legitimate fast typers don't get caught.
  • Cross-channel detection is the raid-stopper. A real spammer pastes the same message in #general, #chat, #off-topic, #meta over 30 seconds — exactly what this catches.
  • The cross-channel window can be wider than the rate window (e.g. rate=10s, cross=30s) so a slow drip spammer who waits 8 seconds between channels still trips.
  • Combine with delete + timeout 5m. Most spammers don't come back after one timeout.
  • Keep "delete the whole spam burst" on. Cross-channel spam is the case where it matters most: the rule trips on the third channel, and without burst cleanup the first two messages stay up.
  • Native (Discord-enforced) spam rules do not do any of this. Discord's AutoMod spam trigger is its own black-box heuristic — your thresholds, cross-channel detection and burst cleanup are all Phantom features and only run when the rule's enforcement is set to Phantom (in-bot).

Common patterns ​

Use caseSetup
Standardwindow=10, rate=5, duplicate=3, cross=3, cross_window=30, actions: delete + 5min timeout
Strict (high-traffic server)window=5, rate=4, duplicate=2, cross=3, actions: delete + 30min timeout
Just raid protectionwindow=10, rate=0, duplicate=0, cross=3, cross_window=30, actions: delete + kick

Limits ​

  • 6 actions per rule

Channel-spam (the 8th category) ​

The dashboard has a separate Channel spam category that's the per-channel-only variant: max-N-messages-in-W-seconds for one user inside one channel. Useful when one channel needs tighter rate limiting than the rest (a quiet channel where 3-messages-in-5-seconds is unusual, even if 10-messages-in-10-seconds elsewhere is fine).

Phantom is a product of Hydra Labs. The bot is run as a managed service; you do not need to host it yourself.