Skip to main content

๐Ÿงน 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:

  1. Open your project in the Fren One webapp.
  2. Select the Discord server you want to configure.
  3. 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 modeDescription
PartialBlocks any message containing the text, even inside another word. Default.
ExactBlocks the whole word only (word-boundary match).
RegexAdvanced: blocks messages matching the pattern (case-insensitive).
AI regex generation

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.

OptionDescription
Apply inAll channels (default) or Only selected channels โ€” the latter reveals a Channels picker.
Exempt channelsThe 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.

ConditionMatches
Contains a linkAny URL or bare domain.
Contains a Discord invitediscord.gg / invite links.
Has an attachmentAny image or file attachment.
Excessive capsMessages that are over ~70% uppercase, on messages of 10+ characters.
Excessive emojisMore 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.

OptionDescription
NameA label for the filter, e.g. "No invites". Required.
EnabledTurn 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 inAll channels or Only selected โ€” the latter reveals a Channels picker.
Exempt channelsThis filter never runs in these channels.
Only apply to new membersSkip 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.

OptionDescription
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 yetCounts members with no prior message in the server as new.
Combine the above withOR โ€” 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 domainsNew 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.

OptionDescription
Exempt rolesMembers with any of these roles bypass all filters.
Exempt usersNumeric Discord user IDs, entered as chips.
Allowed domainsLinks 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โ€‹

Filtering without false positives
  • 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.