Heads up. This bot is new and some features are undergoing testing. If you identify anything out of the ordinary, please contact us in the Discord. Join our support server

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.

Needs Tier 1

Permissions it needs

  • Manage Roles
  • Kick Members
  • Timeout Members

Settings

SettingWhat it doesOpen 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

  • /mod altcheckShow the alt-risk assessment for a member (Discord-native signals only). Guide

    Show 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.