🚫 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
- Choose whether detections are only recorded, sent to your admins for review, or acted on automatically
- When acting automatically, delete the message and optionally warn, time out, kick or ban the sender
- 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 workspace in the Fren One webapp.
- In the sidebar under Channels, select the Discord server you want to configure. Its pages open beneath it.
- 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 spam" on. The AI screens messages from new members: members Fren One has no recorded message history for. Once Fren One has recorded a message from someone, their later messages aren't screened, and that history isn't limited to this server. Admins, agent admins and whitelisted members are never screened.
| Option | Description |
|---|---|
| Mode | How a detection is handled. Observe only records it and does nothing visible. Suggest to admins (default) sends your admins an alert with one-tap review and leaves the message up. Act automatically removes the message and applies the action below. |
| Strictness | Strict acts only when the detector is very sure. Sensitive catches more spam but flags more for review. Balanced is the recommended default. |
| Action | Shown only for Act automatically. Every detected message is deleted; this chooses the extra step for the sender: Delete only (default), Delete + warn, Delete + timeout, Delete + kick or Delete + ban. |
| Timeout duration | Shown for Delete + timeout. How long the member is timed out, entered with a unit. Up to 28 days. |
Review and enforcement are different things. Under Observe only and Suggest to admins nothing happens to the message or the member until an admin acts on the review alert. Only Act automatically deletes messages and applies the action on its own. Messages in languages the detector isn't validated for are always held for review instead of acted on, even under Act automatically.
Detections appear in the mod log as "AI Spam Alert" for reviews and "AI Spam Removal" for automatic removals. Whitelisted members are never flagged; the whitelist is shared with the word blacklist and filters, and Manage whitelists opens it. See Whitelists.
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, from 0.0 to 1.0 in steps of 0.05. A name matches when its similarity is at or above the threshold, so a higher value is stricter and flags fewer members. |
| 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 recorded message history posts, the AI screens the message. What happens next depends on the Mode: nothing visible (Observe only), a review alert to your admins (Suggest to admins), or deletion plus your chosen action (Act automatically). Members with recorded history, admins, agent admins and whitelisted members 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 tab 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 spam detection on Suggest to admins and review what it flags before switching to Act automatically.
- Tune the impersonation Similarity Threshold in small steps: 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 members Fren One has no recorded message history for. 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.
- Under Observe only, detections are recorded but nothing visible happens. Under Suggest to admins, messages stay up until an admin reviews them.
A legitimate member was flagged as an impersonator?
- Make matching stricter by raising 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
- ✅ Whitelists: Members the spam detector never flags
- 👤 User Blacklist: Screen joins by name, server tag, or AI criteria
- 🛡️ Server Protection: Anti-raid, anti-nuke, and server backups