🚫 Spam & Impersonation
Two AI-powered defenses on one page: spam detection screens messages from brand-new members, and impersonation protection catches accounts that copy the names or avatars of your admins and other protected members.
Overview
When configured, the agent can:
- Detect spam from new members using AI — no keyword lists needed
- Delete, warn, mute, timeout, kick, or ban spammers, and notify your admins
- Compare member identities against a protected list and flag lookalikes
- Quarantine, kick, or ban impersonators automatically, or just alert you
- Protect whole roles at once, plus individually listed members
Configuration
To configure spam and impersonation protection:
- Open your project in the Fren One webapp.
- Select the Discord server you want to configure.
- In the sidebar under Agent Configuration, select AI Features, then the Spam & Impersonation tab.
The page has two toggle cards — one per defense — and a Protected Members list.
Spam detection
Toggle "Automatically detect and remove spam" on. The AI only screens new members — anyone with no prior message in the server. Once a member has an established message history, their messages are no longer checked. Admins and agent admins are always exempt.
| Option | Description |
|---|---|
| Action | What happens on detection: delete, warn, mute, kick, ban, or timeout. Required. |
| Timeout Duration (s) | How long the timeout lasts when the action is timeout. Minimum 1; default 300. |
| Notify admins | Tells your admins when spam is detected. |
Impersonation detection
Toggle "Detect members impersonating admins" on, then tune how strictly identities are matched:
| Option | Description |
|---|---|
| Similarity Threshold | How close a name must be to a protected member's to count as impersonation. 0.0–1.0 in steps of 0.05; higher = stricter. Default: 0.8. |
| Action on Detection | Quarantine (default), Kick, Ban, or None (alert only). Required. |
| Check username | Compares usernames. Default: on. |
| Check display name | Compares display names. Default: on. |
| DM admins on detection | Sends your admins a direct message when an impersonator is caught. |
Protected roles
Under "Protect everyone with a role", pick roles with the Protected roles multi-select. All current members of these roles are protected — adding a role enrolls its members and removing it unenrolls them. Enrollment runs in the background and may take a moment for large roles.
Protected Members
The Protected Members list covers people individually, outside any protected role. Select Add Member and provide:
| Option | Description |
|---|---|
| Discord Member ID | The member's numeric Discord ID (snowflake). Required. |
| Username | The member's username. Required. |
Rows show the resolved member name and avatar with a delete button. When empty, the list shows "No protected members".
How it works in Discord
Spam: when a member with no message history posts, the AI screens the message and applies your configured action on detection. Established members, admins, and agent admins are never checked.
Impersonation: checks run whenever a member joins, changes their username or display name, or changes their avatar. The agent compares the member against your protected list using name similarity and avatar comparison. On a match it applies the configured action and posts an "🎭 Impersonation Detected" embed to your mod log, plus channel or DM alerts depending on your settings. During the join sequence, the impersonation check runs right after blacklist screening — a caught impersonator is stopped before verification, roles, or any welcome message.
Quarantining uses a role the agent manages, and kicks/bans respect Discord's role hierarchy. If you've customized the agent's permissions, keep its role above the members it may need to act on — an action the agent can't perform fails rather than being logged as a success.
Saving your changes
This page uses a batched save — spam settings, impersonation settings, and protected-member changes are all committed together when you select Save in the bar at the bottom of the page. Leaving with unsaved changes shows a warning.
Best practices
- Protect your admin roles with Protected roles rather than adding admins one by one — new admins are enrolled automatically.
- Start impersonation at the 0.8 default threshold; raise it if legitimate members with similar names get flagged, lower it if lookalikes slip through.
- Quarantine is the safest default action — a false positive can be released, while a ban can't be un-experienced.
- Turn on DM admins on detection so someone sees quarantines quickly.
Troubleshooting
Spam from an established member isn't caught?
- By design — spam detection only screens new members with no prior message in the server. Use Smart Triggers or Moderation filters for everyone else.
Nothing is being detected at all?
- Both defenses require the AI service and no-op silently when it's unavailable.
- Check each card's toggle is on and the page is saved.
A legitimate member was flagged as an impersonator?
- Lower the strictness by reducing the Similarity Threshold, or disable Check display name if nickname overlap is common in your server.
Related features
- ✨ Smart Triggers - Custom AI rules for messages from any member
- 👤 User Blacklist - Screen joins by name, server tag, or AI criteria
- 🛡️ Server Protection - Anti-raid, anti-nuke, and server backups