Anti-Scam
Not a keyword blacklist โ a behavioral detector that catches compromised accounts and scam bots by spotting the same message or the same pings fanning out across many channels at once.
Overview
Scam and compromised-account posts almost always share one signature: the same content (or the same pings) posted across many channels in a short burst. Anti-Scam watches a rolling per-user time window (default 30 seconds) and runs two independent detectors over it.
Detectors
Mention Fan-Out
Flags a member who pings a role, user, @everyone, or @here across at least Mention Channel Threshold distinct channels (default 3, range 2โ25) within the time window.
Duplicate Message
Groups "substantive" messages โ anything with a link, mention, attachment, or 10+ characters โ by near-identical content (exact match, or โฅ85% word overlap for longer messages) and flags when the largest matching group spans at least Channel Threshold distinct channels (default 5, range 2โ20).
Settings
| Setting | Default |
|---|---|
| Channel Threshold (duplicate detector) | 5 channels |
| Mention Channel Threshold (mention detector) | 3 channels |
| Time Window | 30 seconds |
| Ignore moderators & admins | On |
| Delete flagged messages | On |
| Punishment | Timeout, 1 hour |
Punishment options: Timeout (capped at Discord's 28-day maximum), Mute (the same role-based mute as /mute), Kick, or Ban (which also deletes the last day of the member's messages โ unlike /ban's message-delete option, this path actually works).
The server owner is always exempt. Turning off "Ignore moderators & admins" is meant for the case where a staff account itself gets compromised โ normally you'd want that off, but leaving it on protects legitimate staff doing legitimate cross-channel announcements.
Message Cleanup
When "Delete flagged messages" is on, Aegis removes the specific flagged messages, then runs a 15-minute follow-up sweep of every hit channel to catch anything else the member posted in that window that scrolled past the original detection.
Logging
Each catch logs to the Anti-Scam event with Member, Detector, Action, Channels hit, Messages flagged, and cleanup result. If the punishment itself fails (missing permission, hierarchy), that failure is recorded in the log rather than silently dropped.