๐งน Filters
Filters are the agent's first line of defense against unwanted content. A word blacklist catches specific words, phrases, and patterns, while auto filters handle the common nuisances โ links, invites, attachments, caps, and emoji spam โ with actions that escalate from a simple delete up to a ban.
Overviewโ
- Block messages by partial match, exact word, or regex pattern โ matching is case-insensitive
- Describe a pattern in plain language and let the agent generate the regex for you
- Auto filters act on links, Discord invites, attachments, excessive caps, and emoji spam
- Escalate per filter: delete only, or delete plus warn, timeout, kick, or ban
- Target individual filters at new members only, with your own definition of "new"
- Exempt roles, specific members, channels, and allowed domains โ admins are always exempt
Configurationโ
To configure filters:
- Open your project in the Fren One webapp.
- Select the Discord server you want to configure.
- In the sidebar under Agent Configuration, select Moderation, then the Filters tab.
The tab stacks four cards: Word Blacklist, Auto Filters, New Member Definition, and Exemptions.
Word Blacklistโ
Blocks messages containing specific words, phrases, or patterns. Enter a "Word or pattern", pick a Match mode, and select Add โ entries apply immediately.
| Match mode | Description |
|---|---|
| Partial | Blocks any message containing the text, even inside another word. Default. |
| Exact | Blocks the whole word only (word-boundary match). |
| Regex | Advanced: blocks messages matching the pattern (case-insensitive). |
In Regex mode you can type a regex directly โ or describe the pattern in plain language (for example, "mentions of free nitro") and the agent generates one for you.
Added entries are grouped into three lists โ "Exact words", "Partial matches", and "Regex patterns" โ and can be removed instantly.
Scopeโ
The Scope sub-card controls where the word filter applies and has its own inline Save button. Admins are always exempt.
| Option | Description |
|---|---|
| Apply in | All channels (default) or Only selected channels โ the latter reveals a Channels picker. |
| Exempt channels | The word filter never runs in these channels. |
Auto Filtersโ
Pre-built checks that act on matching messages. Each filter is a named rule with its own conditions, action, and channel scope. Select "Add Filter" to create one; existing rules can be toggled on and off directly from the list, or edited in the filter dialog.
| Condition | Matches |
|---|---|
| Contains a link | Any URL or bare domain. |
| Contains a Discord invite | discord.gg / invite links. |
| Has an attachment | Any image or file attachment. |
| Excessive caps | Messages that are over ~70% uppercase, on messages of 10+ characters. |
| Excessive emojis | More than 5 emojis, or emojis making up over 50% of the message. |
Select all conditions that apply โ the action runs when any of them match.
| Option | Description |
|---|---|
| Name | A label for the filter, e.g. "No invites". Required. |
| Enabled | Turn the filter off without deleting it. |
| What should happen? | Delete message, Delete + warn, Delete + timeout, Delete + kick, or Delete + ban. |
| Timeout (seconds) | Shown for Delete + timeout. How long the member is timed out. Up to 28 days (2419200 seconds). |
| Apply in | All channels or Only selected โ the latter reveals a Channels picker. |
| Exempt channels | This filter never runs in these channels. |
| Only apply to new members | Skip established members entirely. Who counts as "new" is set in the New Member Definition card. |
Deleting a filter asks for confirmation โ the filter is permanently deleted.
New Member Definitionโ
Defines who counts as a new member, used by any filter set to apply to new members only. This card has its own inline Save button.
| Option | Description |
|---|---|
| Joined within (days) | Members who joined within this many days count as new. Default: 7. 0 = ignore join age. |
| Account age under (days) | Discord accounts younger than this count as new. Default: 0 (ignore account age). |
| Hasn't sent a message in the server yet | Counts members with no prior message in the server as new. |
| Combine the above with | OR โ any rule (default): any rule marks them new. AND โ all rules: all enabled rules must match. |
| Apply link filters to new members even on allowed domains | New members' links are filtered even when the domain is on the allowed list. |
Exemptionsโ
Applied to every filter โ word blacklist and auto filters alike. Members matching these are never actioned. Changes apply immediately.
| Option | Description |
|---|---|
| Exempt roles | Members with any of these roles bypass all filters. |
| Exempt users | Numeric Discord user IDs, entered as chips. |
| Allowed domains | Links to these domains skip the link filter (e.g. example.com). |
How it works in Discordโ
When a message matches the word blacklist, the agent deletes it and posts a mod-log entry ("AutoMod: Blacklisted content filter"). Regex matching is case-insensitive, and invalid patterns are skipped rather than breaking the filter.
Auto filters delete the matching message first, then run the escalation โ warn, timeout, kick, or ban. If Discord rejects the escalation because the agent lacks the permission or the member's role sits above the agent's, the action is not logged as a success, so your Mod Log reflects what actually happened.
The server owner, members with Discord Administrator, and holders of Agent Admin roles are always exempt from filters โ on top of any roles, members, and channels you exempt yourself.
Saving your changesโ
This tab mixes save styles. Word blacklist entries and Exemptions apply immediately as you add or remove them. The Scope and New Member Definition cards each have their own inline Save button. Auto filters are saved from their editor dialog, and deleting one asks for confirmation first.
Best practicesโ
- Start new filters with Delete message only and escalate to warn or timeout once you've seen what they catch.
- Prefer Exact over Partial for short words โ partial matches fire inside longer words (e.g. "cat" matches "catalog").
- Add your official domains to Allowed domains before enabling a link filter, so your own announcements survive.
- Scope aggressive link and attachment filters to new members only โ established members rarely need them.
- Describe tricky patterns in plain language and let the AI draft the regex, then test it on sample messages.
Troubleshooting
A filter isn't triggering?
- Check the filter's Enabled toggle and its channel scope โ a filter never runs in its exempt channels.
- Admins, the server owner, and Agent Admin roles are always exempt; so are your Exempt roles and Exempt users.
- If the filter is set to new members only, confirm the member still matches your New Member Definition.
The message is deleted but the timeout, kick, or ban isn't applied?
- If you've customized the agent's permissions, it needs the matching Discord permission (Moderate Members, Kick Members, Ban Members), and its role must sit above the target member's roles.
- Timeouts cap at Discord's 28-day maximum.
A link from an allowed domain was still removed?
- Check "Apply link filters to new members even on allowed domains" โ new members' links bypass the allowed list when it's on.
Related featuresโ
- ๐ก๏ธ AutoMod (Discord native) - Discord-enforced rules that keep working even when the agent is offline
- ๐ซ Triggers - Respond to custom phrases with messages and moderation actions
- ๐ค Spam & Impersonation - AI-powered spam detection for new members
- ๐ค User Blacklist - Screen members at join, before they can post at all