Automod
Content filters and spam protection: links, invites, caps, banned words, regex and an eight-kind anti-spam engine.
Automod watches every message and quietly deletes the stuff you don't want: invite ads, scam links, all-caps shouting, banned words and spam floods. No moderator has to be online. It is off by default.
Commands
,filter (alias ,automod) needs Manage Server:
,filter links on delete messages that contain links
,filter invites on delete Discord invite links
,filter caps on --threshold 70 delete messages over 70% caps
,filter add nitro add a banned word
,filter autoregex off stop generating obfuscation patterns
,filter remove nitro remove a banned word
,filter exempt #staff let a channel, role or member skip automod
,filter list show active filters and banned words
Advanced patterns (obfuscated slurs, scam text) use ,regexfilter (aliases ,regex, ,rfilter):
,regexfilter add free\s*nitro --action delete block a pattern
,regexfilter list list regex filters
,regexfilter toggle 3 enable or disable filter 3
,regexfilter remove 3 delete filter 3
Lock one channel to a single content type with ,filterchannel (aliases ,channelfilter, ,cfilter, needs Manage Channels):
,filterchannel #art images only allow image posts
,filterchannel #links links only allow links
,filterchannel #general off clear the channel filter
,filterchannel list show every channel filter
Example
Block invites and caps spam, and keep your mod channel exempt:
,filter invites on
,filter caps on --threshold 80
,filter exempt #mod-chat
The anti-spam engine (message flood, duplicates, mass mentions, zalgo, emoji, newline, attachment and wall-of-text spam) is tuned on the dashboard's Automod page.
Related
- For scam and phishing links specifically, see the Live Threat Feed.
- For image content, see Image Automod.
Banned words catch obfuscation
When you add a banned word, exceed also generates a regex that catches the ways people dodge word filters. Adding badword also catches:
b a d w o r d
b.a.d.w.o.r.d
b4dw0rd
baaadword
It covers leetspeak substitutions, up to two separator characters between letters, and stretched letters. Removing the word removes its pattern too, and auto-generated patterns are labelled in ,regexfilter list so you can always tell them apart from ones you wrote.
Turn it off with ,filter autoregex off if you want exact matching only. Existing patterns are kept.
Heat system
Every filter above works on its own, so someone who sits just under each individual limit gets through. The heat system fixes that by pooling everything into one score per member that decays over time.
,heat on turn the heat system on
,heat set 150 20 fire at 150 heat, decaying 20 per minute
,heat action timeout 600 what happens when the threshold is crossed
,heat multiplier 2 double the timeout on each repeat offence
,heat factor invites 80 change how much heat one factor generates
,heat show the current settings
Each of these adds heat when a message trips it:
| Factor | Default | Factor | Default |
|---|---|---|---|
phishing | 100 | mentions | 12 |
words | 60 | caps | 10 |
invites | 45 | links | 8 |
repeat | 20 | emoji | 8 |
newlines | 8 | attachments | 5 |
Defaults are 100 heat to trigger, decaying 30 per minute. One borderline message is fine; several at once is not. Set a factor to 0 to stop it generating heat entirely.
Members with Manage Messages and anything on the automod exempt list are never scored.
Auto lockdown
Locks every channel when mentions spike. Per-user mention limits never catch twenty accounts posting three mentions each, which is what a mention raid actually looks like.
,autolockdown on enable it
,autolockdown set 50 30 lock at 50 mentions within 30 seconds
,autolockdown show the current settings
It uses the same machinery as raid panic mode, so unlocking restores each channel's exact prior permissions rather than wiping them. Members with Manage Server and whitelisted members do not count toward the total.