AutoMod
Six independent filters: bad words, spam, caps, links, invites, and mass mentions. Each has its own switch, its own action and its own DM, and all but spam and caps are mirrored into Discord's own native AutoMod when they are set to Delete + Strike, so those are blocked before they post.
Overview
Every message is checked against six filters, in this fixed order. The first one that matches wins, and no further filters are checked for that message. AutoMod's own switch at the top of the page runs the whole set, and each filter has its own switch on its own card, so a filter that is off is skipped entirely. The Bad Words filter also needs at least one word in its list before it can match.
The page opens in a Simple view holding the six filter cards, the exemption lists and one DM message. Advanced adds the per-filter DM wording and the per-filter exemptions.
| Order | Filter | Detection |
|---|---|---|
| 1 | Bad Words / Phrases | Case-insensitive substring match against your own word list |
| 2 | Mass Mentions | Counts @user/@role mentions in one message |
| 3 | Discord Invites | discord.gg / discord.com/invite links |
| 4 | Links | Any http(s):// URL |
| 5 | Caps | % of letters that are uppercase, above a minimum message length |
| 6 | Anti-Spam | Message count from one user within a rolling time window |
Filter Settings
Each card carries the filter's switch, what counts as a hit, and what happens when one does. All six offer the same three actions.
| Filter | What you can set | Default action |
|---|---|---|
| Bad Words | Your word/phrase list | Delete + Strike |
| Anti-Spam | Messages threshold (2โ20, default 5) ยท window in seconds (2โ30, default 5) | Delete + Strike + Timeout |
| Caps | Caps % (30โ100, default 70) ยท Minimum message length (5โ50, default 10) | Delete + Strike |
| Mass Mentions | Mentions in one message (2โ20, default 5) | Delete + Strike + Timeout |
| Links | โ | Delete + Strike |
| Invites | โ | Delete + Strike |
Actions
Three actions, the same three on all six filters:
| Action | What happens |
|---|---|
| Delete + Strike | The message is removed and a strike is recorded against the member |
| Delete + Strike + Timeout | The same, then the member is timed out for that filter's Timeout length |
| Delete + Strike + Kick | The same, then the member is kicked |
Every action deletes the message and records a strike, so nothing a filter catches walks past your strike ladder. The only difference between the three is what happens to the member on top of that. Each filter picks its own Timeout length beside its action, from 1 minute up to 1 week, and 10 minutes is used when nothing is chosen. That length applies to the timeout action only.
There is no separate warn action. Delete + Strike + Warn DM was removed because it did exactly what Delete + Strike does: whether the member is DM'd is set on the DM card, not by the action.
A strike from AutoMod moves the strike ladder like any other, so auto-kick and auto-ban fire when a filter hands out the strike that reaches them, rather than waiting for a moderator to act. Only the strike that actually crosses a threshold triggers anything, so nobody is punished for strikes they already had. The thresholds and severity tiers themselves live on the Strike Automation page, documented under Moderation.
Exemptions
Exemptions all sit on one card rather than inside the six filter cards. Two global lists (Exempt Roles and Exempt Channels) bypass every filter entirely. Under Advanced, each filter can also have its own additional role and channel exemptions layered on top. Anyone with the Manage Messages permission is automatically exempt from every filter Aegis scans itself.
Native Discord AutoMod
Bad Words, Invites, Links and Mass Mentions set to Delete + Strike are mirrored into a real Discord AutoMod rule, so Discord blocks the message before it is ever posted and the member sees Discord's own notice rather than watching their message disappear. The strike and the DM are applied when Discord reports the block, since the message Aegis would have scanned was never sent. Your exempt roles and channels are written onto the rule, so they still apply. A Discord rule can only carry roles and channels, so the Manage Messages exemption does not travel with it: on a mirrored filter, a Manage Messages holder's message is blocked like anyone else's. The timeout and kick actions need the message to exist to act on, so those stay with Aegis's own scan, as do Anti-Spam and Caps, which Discord has no equivalent trigger for. This requires Aegis to have Manage Server, and the in-bot scanner keeps running as a fallback regardless.
Discord AutoMod rules you wrote yourself are a separate matter: they can be counted toward the same strike ladder with Your own Discord AutoMod rules count on the Strike Automation page. It is off unless you turn it on, and the hit is recorded as a strike rather than adding a timeout or a kick of its own.
DM on Removal
The DM on AutoMod Action card turns AutoMod DMs on, and the box beneath the switch holds the message every filter falls back to. Under Advanced, the same card holds a switch and a message box for each of the six filters. Whether a filter DMs at all is decided here; no action sends a DM on its own.
When a filter acts, the message sent is its own text if it has any, otherwise the default at the top. There is no built-in wording. If the filter has nothing of its own and the default is blank, nothing is sent. Placeholders: {user} (mentions the member), {username} (their name, no ping), {server}, {filter}, {reason}. {user} used to print the member's name in AutoMod messages while it mentioned them everywhere else in the bot; it mentions them here too now, and anything already written was moved to {username} so nothing you had changed.
Logging
Every AutoMod action posts an embed to the AutoMod event on the Logging page, in the same style as every other server log: the member's identity block, the channel, when the message was sent, which filter caught it, what actually happened, the reason, and the message itself. Since every action records a strike, it also carries the member's strike count after it, and whether the DM reached them or their DMs were closed.
The Action line says what was actually done rather than what the filter was set to do. An action Discord refused isn't reported as though it went through. A filter handled by native AutoMod logs the same entry, noting that the message was blocked before it posted.
Separately, a message AutoMod removes is footed AutoMod in the Message Deleted log, with the filter and reason, rather than being credited to whoever wrote it.