Alt Detection
Heuristic alt-account risk scoring from Discord-native signals (account age, avatar, username shape, join correlation, names close to banned or kicked members). Alert-only by default; never auto-bans.
Permissions it needs
Besides the basics every server gives the bot, this module needs these Discord permissions. Switching it on checks for them and says which are missing.- Manage Roles
- Kick Members
- Timeout Members
Settings
Settings marked Advanced are shown, and applied, only in the Advanced view. About Simple and Advanced| Setting | What it does | Open in dashboard |
|---|---|---|
| Alert threshold (score)Number | A new member whose risk score reaches this is flagged and the action below is taken. Not used when score tiers are set. | |
| Young account (hours)Number | An account created less than this many hours ago counts as young. | |
| On flagOne of a list | Heuristic only - alerting is strongly preferred over automatic action. Overridden by the score tiers below if any are set. Choices: Alert staff only, Mute (as set in Core Moderation), Kick (not recommended) | |
| Tiers | ||
| Score tiersList of entriesAdvanced | Tiered actions by risk score (e.g. alert at 4, kick at 7). The highest tier a member reaches applies. Empty = use the single action above. Each entry has the settings below. | |
| At score ≥Number | This tier applies when a new member's risk score is at least this. | |
| ActionOne of a list | What happens to a member who reaches this tier. Quarantine gives the quarantine role. Choices: Alert staff only, Timeout, Mute (as set in Core Moderation), Kick, Quarantine (role) | |
| Timeout or mute lengthLength of timeAdvanced | How long a timeout or mute from this module lasts. | |
| Quarantine roleRoleAdvanced | Given to members when a score tier's action is Quarantine. Nothing happens until a role is set. | |
| Logging | ||
| Alert noteMessage with placeholdersAdvanced | Optional extra line added to the flag alert. | |
| Alert roleRole | Pinged when a member is flagged. | |
| Alt-detection log channelChannelAdvanced | Where flags are reported (falls back to the member log). | |
| Exemptions | ||
| Exempt rolesRolesAdvanced | Members with these roles are never scored/flagged. | |
| Signal weights | ||
| Signal weight: young accountNumberAdvanced | 0 disables this signal. | |
| Signal weight: no avatarNumberAdvanced | Added to the score when the account is still on Discord's default profile picture. 0 disables this signal. | |
| Signal weight: numeric usernameNumberAdvanced | Added to the score when the username ends in four or more digits. 0 disables this signal. | |
| Signal weight: join correlationNumberAdvanced | Added to the score when two or more other young accounts joined in the last 5 minutes. 0 disables this signal. | |
| Signal weight: name like a removed memberNumberAdvanced | Added to the score when the username or display name is close to someone this server banned or kicked (from the bot's own records, the latest 500 people). Letters that look alike, digits used as letters and separators are ignored. 0 disables this signal. | |
| Name closeness needed (%)NumberAdvanced | How close two names must be to count, in percent: 100 means the same once look-alike letters and separators are ignored. Names shorter than 4 letters are never compared. | |
| Also compare with current membersOn or offAdvanced | Also flags a name close to someone already in the server, such as a staff member being impersonated. Uses the names the bot keeps for the statistics pages (the 1,000 most recently active members), so it needs a statistics module on. | |
Commands
Shown with the prefix ?. A server can choose its own./mod altcheckShow the alt-risk assessment for a member (Discord-native signals only). GuideShow the alt-risk assessment for a member (Discord-native signals only).
- Usage
/mod altcheck <user>?mod altcheck <user>Shorthand:?altcheck <user>- Example
?mod altcheck @member- Arguments
- Required
<user>Member to assess (mention or ID)
- Who can use it
- Members with Moderate Members. Server administrators always can.