Make the rules
fit your server.
AutoMod checks new messages and edits to cached messages locally. It does not call an AI service for filter decisions.
Filters and defaults
| Setting | Default / behavior |
|---|---|
| Spam | 6 messages in 8 seconds. |
| Duplicates | 3 identical normalized messages in 30 seconds. |
| Mass mentions | 5 unique user/role mentions. |
| Everyone / here | Blocked for non-exempt members. |
| Discord invites | Blocked for non-exempt members. |
| Links | Allowlist enforcement off. More than 3 HTTP(S)/www links is still flagged; blocked domains are enforced. |
| Capitals | At least 18 letters and 80% uppercase. |
| Emoji | More than 16 emoji code points/custom emoji. Combined emoji may count more than once. |
| Text flooding | More than 15 lines or 1,800 characters. |
| Attachments | More than 5 attachments, or a listed risky extension. |
| Words | Enabled with an initially empty custom list; normalized phrase matching. |
| Join waves | Off by default; see below. |
Enforcement and escalation
/automod action mode:log records findings without deleting. delete deletes matching messages. timeout deletes and uses temporary timeouts after the configured strike threshold.
Defaults: three AutoMod strikes in ten minutes, then a five-minute timeout. Manual warnings do not count as AutoMod strikes. No automatic bans or kicks. Timeouts require Moderate Members and a higher bot role; administrators cannot be timed out.
Use /automod threshold and /automod thresholds. Available ranges are enforced by the bot, including 1–1,440 timeout minutes and 1–20 escalation strikes.
Exemptions and lists
Message AutoMod exempts the server owner, members with Manage Server, bots and webhooks. Add server-specific channel, role or user exemptions with the corresponding /automod exempt_* command. Channel exemptions also cover its threads.
Use /automod list, add and remove for blocked words, allowed domains, blocked domains and blocked file extensions. Each list supports up to 100 entries. Domains are exact hosts or subdomains; a blocked domain takes precedence over an allowed domain.
Default blocked extensions: exe, scr, bat, cmd, ps1, vbs, js, jar, msi, com, lnk. This is a filename rule, not a malware scan.
Young accounts during a join wave
When explicitly enabled, six joins within fifteen seconds trigger the join-wave threshold. Incoming non-bot accounts younger than three days can receive the configured timeout, subject to permissions. Earlier arrivals are not retroactively punished. Older accounts are not automatically punished by this rule. Join-wave timeouts operate independently of the message action setting.
Operational boundaries
Temporary message samples and counters are bounded in memory and reset on restart. Repeated log delivery is throttled per offender while deletion continues. Only cached edits are rechecked; there is no retrospective channel scan. Obfuscated domains and complex text may bypass simple rules.
/automod reset requires administrator confirmation, restores AutoMod defaults and keeps the log channel, AI settings, warnings and moderation history.