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:

OrderFilterDetection
1Bad Words / PhrasesCase-insensitive substring match against your own word list
2Mass MentionsCounts @user/@role mentions in one message
3Discord Invitesdiscord.gg / discord.com/invite links
4LinksAny http(s):// URL
5Caps% of letters that are uppercase, above a minimum message length
6Anti-SpamMessage count from one user within a rolling time window

Filter Settings

FilterConfigurableAvailable actionsDefault action
Bad WordsYour word/phrase listDelete ยท Delete+Warn ยท Delete+Timeout ยท Delete+KickDelete + Warn
Anti-SpamMessages threshold (2โ€“20, default 5) ยท window in seconds (2โ€“30, default 5)Delete ยท Timeout ยท KickTimeout
CapsCaps % (30โ€“100, default 70) ยท Minimum message length (5โ€“50, default 10)Delete ยท Delete+WarnDelete
Mass MentionsMax mentions (2โ€“20, default 5)Delete ยท Timeout ยท KickTimeout
Linksโ€”Delete ยท Delete+WarnDelete
Invitesโ€”Delete ยท Delete+WarnDelete
โš ๏ธ

Filters set to a Timeout action currently always time out for a fixed 10 minutes, regardless of the Timeout Duration dropdown shown next to Bad Words, Spam, and Mass Mentions on the dashboard.

Exemptions

Two global lists โ€” Exempt Roles and Exempt Channels โ€” bypass every filter entirely. Each filter can also have its own additional role/channel exemptions layered on top. Anyone with the Manage Messages permission is automatically exempt from all filters.

Native Discord AutoMod

Any filter set to a plain Delete action (Bad Words, Invites, Links, Mass Mentions) is mirrored into a real Discord AutoMod rule, so Discord blocks the message server-side before it's ever posted โ€” faster than Aegis's own reactive scan. This requires Aegis to have Manage Server. The in-bot scanner keeps running as a fallback regardless.

DM on Removal

A global toggle sends the member a DM when AutoMod removes their message: "โš ๏ธ Your message in {server} was removed by AutoMod. Filter: {filter}. Reason: {reason}" by default, or your own custom text.

โš ๏ธ

Each filter card also shows a "Custom DM for this filter" box, but it currently only takes effect for the Native AutoMod path (plain Delete filters offloaded to Discord). Filters using Delete+Warn/Timeout/Kick always send the global DM message, not their own override.

Logging

Every AutoMod action posts an embed (Member, Filter, Action, Reason, Channel) to the AutoMod event on the Logging page.