Guide/Protect your server/AutoMod, heat & panic mode
Discord AutoMod Bot: Stop Spam, Scams & Bad Words
Spam, mentions, words, content shape and nicknames; heat, thresholds and strikes; auto-lock and panic.
Quick answer
Heat that escalates
!automod enable
!automod heat on decay:5
!automod threshold 50 delete
!automod threshold 70 timeout timeout:600
!automod threshold 100 ban
!automod exempt #bot-commands
!automod reset @userAsk the guide
Step by step
Rules
| Rule | Default | Command |
|---|---|---|
spam | 10 messages in 5 s → timeout | !automod spam 10 5 timeout |
mentions | more than 8 mentions, @everyone counts → delete | !automod mentions 8 everyone:true delete |
links | off; allow/block domain lists; block Discord invites | !automod links on block_invites:true allow:youtube.com,twitter.com |
words | off; comma-separated terms, whole-word option | !automod words on terms:badword1,badword2 whole_word:true delete |
ghost ping | Reposts a note when someone mentions and deletes | dashboard toggle |
nickname | Regex / max length / blocked terms → reset or set a nickname | dashboard |
invite delete | Deletes invite links to other servers | dashboard |
Exempt a role or channel from all AutoMod rules with !automod exempt @Staff or !automod exempt #bot-commands (add remove:true to undo). The links role permission (!permission grant @Trusted links) lets a role post links while the rule blocks them for everyone else.
discord.gg and fullwidth spellings do not slip past.Heat
Each risky thing a member does adds heat: message rate, repetition, spam, advertising, suspicious / malicious / NSFW links, IP-grabber domains, emoji or character volume, newlines, walls of text, mentions and mass mentions, attachments, embeds. Heat decays every minute (default 5 per minute). Thresholds decide the response:
| Heat | Default action |
|---|---|
25 | warn |
50 | delete |
70 | timeout 10 min |
90 | quarantine |
100 | ban |
!automod heat on decay:5
!automod heat on factor:massMention weight:40 re-weight one factor
!automod threshold 70 timeout timeout:600
!automod threshold 90 none remove a threshold
!automod reset @user clear someone's heatStrikes make repeat offenders escalate: each punishment within the reset window multiplies the next timeout (base × multiplier, capped). Releasing a punishment (!unmute, !unquarantine, !unban, or removing the quarantine role by hand) pardons the member: heat and strikes are reset so the same punishment does not fire again immediately.
Auto-lock and panic
!automod autolock on mentions:30 window:10 duration:600 mass-mention flood locks the channel
!automod panic on users:5 window:60 5 suspicious members in 60 s → panic
!panic start "raid in progress" 30m · !panic end · !panic statusPanic mode locks the configured channels (or all), blocks joins, takes an emergency snapshot and pings the alert role. It ends after the duration or with !panic end.
Copy and try
Heat that escalates
!automod enable
!automod heat on decay:5
!automod threshold 50 delete
!automod threshold 70 timeout timeout:600
!automod threshold 100 ban
!automod exempt #bot-commands
!automod reset @userStricter in one channel, relaxed in another
!automod channel #general spamMessages 5
!automod channel #memes linksEnabled off
!automod channel #general mentionsMax resetGood to know
- The bot & webhook spam guard skips whitelisted channels and whitelisted webhooks: !whitelist add channel #logs automod, or !whitelist add bot <webhookId> automod. Whitelist your own logging webhooks before they post in bursts, or the guard deletes them.
- Staff with Manage Messages are never scanned.
- Edited messages are re-scanned; rate and repetition are not counted twice.
If it does not work
- Someone keeps getting timed out right after release. Release with !unmute / !unquarantine (a pardon) rather than by hand; the pardon resets heat and strikes.
Still stuck? Ask in the support server.