> ## Documentation Index
> Fetch the complete documentation index at: https://docs.p2w.lol/llms.txt
> Use this file to discover all available pages before exploring further.

# Antialts

## Why use an antialts system?

It's important to have an antialts system in place to prevent banned users from rejoining your server under new accounts. This is a security measure which lets your server stay protected from users attempting to evade bans or punishments.

## How does antialts work?

Antialts fingerprints every member that joins your server and compares them against a cache of recently banned users. It uses a flag-based system to determine how suspicious a new join is, then takes action automatically based on your configuration.

## Flag System

Flags are split into two categories — **Minor** and **Major**. The combination of flags determines what action is taken.

| Flags               | Action         |
| ------------------- | -------------- |
| 3x Minor            | Mod alert only |
| 1x Major            | Quarantine     |
| 1x Major + 1x Minor | Auto-action    |
| 2x Major            | Auto-action    |

#### Minor Flags

* **Account Age** — Account was created less than 7 days ago
* **Similar Username** — Username closely matches a recently banned user
* **Same Invite** — Used the same invite link as a previously banned user

#### Major Flags

* **Join After Ban** — Joined within the ban watch window after a member was banned
* **Avatar Match** — Avatar perceptually matches a recently banned user

## Configuring antialts

### Opening the configuration panel

You can open the interactive antialts configuration panel with the following command.

<CodeGroup>
  ```typescript Syntax theme={null}
  .antialts
  ```
</CodeGroup>

<Frame>
  <img src="https://mintcdn.com/drown/or4rdm7iYt008HsI/images/Screenshot-2026-05-05-at-12.17.14-AM.png?fit=max&auto=format&n=or4rdm7iYt008HsI&q=85&s=30ea8a171de4642be2eabd177365dfcb" alt="antialts panel screenshot" width="1102" height="930" data-path="images/Screenshot-2026-05-05-at-12.17.14-AM.png" />
</Frame>

### Setting a log channel

Set the channel where dossier embeds and mod alerts are sent when a suspected alt joins.

<CodeGroup>
  ```typescript Syntax theme={null}
  .antialts logchannel (channel)
  ```

  ```typescript Example theme={null}
  .antialts logchannel #mod-logs
  ```
</CodeGroup>

<Frame>
  <img src="https://mintcdn.com/drown/or4rdm7iYt008HsI/images/Screenshot-2026-05-05-at-12.18.14-AM.png?fit=max&auto=format&n=or4rdm7iYt008HsI&q=85&s=d5c235756c3cf56e9fc1b4136aae8dba" alt="antialts logchannel screenshot" width="998" height="330" data-path="images/Screenshot-2026-05-05-at-12.18.14-AM.png" />
</Frame>

### Setting a quarantine role

Set the role applied to suspected alts pending mod review.

<Info>
  Make sure the quarantine role restricts access to all channels so the suspected alt cannot interact with your server.
</Info>

<CodeGroup>
  ```typescript Syntax theme={null}
  .antialts quarantine (role)
  ```

  ```typescript Example theme={null}
  .antialts quarantine @Quarantine
  ```
</CodeGroup>

<Frame>
  <img src="https://mintcdn.com/drown/or4rdm7iYt008HsI/images/Screenshot-2026-05-05-at-12.18.58-AM.png?fit=max&auto=format&n=or4rdm7iYt008HsI&q=85&s=0af9e949f10f00d319377207e74190d5" alt="antialts quarantine screenshot" width="1014" height="356" data-path="images/Screenshot-2026-05-05-at-12.18.58-AM.png" />
</Frame>

### Setting the ban watch window

Set how long after a ban antialts should watch for potential alts joining. Defaults to `30` minutes.

<CodeGroup>
  ```typescript Syntax theme={null}
  .antialts window (minutes)
  ```

  ```typescript Example theme={null}
  .antialts window 60
  ```
</CodeGroup>

<Frame>
  <img src="https://mintcdn.com/drown/or4rdm7iYt008HsI/images/Screenshot-2026-05-05-at-12.19.27-AM.png?fit=max&auto=format&n=or4rdm7iYt008HsI&q=85&s=2edf57bbed670595bf0b8ee66f4923d0" alt="antialts window screenshot" width="1026" height="328" data-path="images/Screenshot-2026-05-05-at-12.19.27-AM.png" />
</Frame>

### Setting the name similarity threshold

Set how similar a username must be to a banned user's to trigger a Minor flag. Defaults to `80%`.

<Info>
  It's recommended to keep this between `75` and `90`. Lower values may produce false positives.
</Info>

<CodeGroup>
  ```typescript Syntax theme={null}
  .antialts similarity (value)
  ```

  ```typescript Example theme={null}
  .antialts similarity 80
  ```
</CodeGroup>

<Frame>
  <img src="https://mintcdn.com/drown/or4rdm7iYt008HsI/images/Screenshot-2026-05-05-at-12.20.42-AM.png?fit=max&auto=format&n=or4rdm7iYt008HsI&q=85&s=f5881e634d5b8ef33327fa164859c74b" alt="antialts similarity screenshot" width="1036" height="334" data-path="images/Screenshot-2026-05-05-at-12.20.42-AM.png" />
</Frame>

### Setting the auto-action

Set what action is automatically taken when Major flags fire.

<Info>
  Available punishments can be found in the **punishments** section.
</Info>

<CodeGroup>
  ```typescript Syntax theme={null}
  .antialts autoaction (quarantine | kick | ban | none)
  ```

  ```typescript Example theme={null}
  .antialts autoaction ban
  ```
</CodeGroup>

<Frame>
  <img src="https://mintcdn.com/drown/or4rdm7iYt008HsI/images/Screenshot-2026-05-05-at-12.21.21-AM.png?fit=max&auto=format&n=or4rdm7iYt008HsI&q=85&s=6949a2783bbb4d007111ada77cbbe0c7" alt="antialts autoaction screenshot" width="864" height="332" data-path="images/Screenshot-2026-05-05-at-12.21.21-AM.png" />
</Frame>

### Exempting users from antialts

You can exempt users from antialts checks with the `antialts whitelist` command.

<Warning>
  Whitelisted users will bypass all antialts detection entirely.
</Warning>

<CodeGroup>
  ```typescript Syntax theme={null}
  .antialts whitelist add (user)
  .antialts whitelist remove (user)
  .antialts whitelist list
  ```

  ```typescript Example theme={null}
  .antialts whitelist add @h.azard
  ```
</CodeGroup>

<Frame>
  <img src="https://mintcdn.com/drown/or4rdm7iYt008HsI/images/Screenshot-2026-05-05-at-12.21.54-AM.png?fit=max&auto=format&n=or4rdm7iYt008HsI&q=85&s=844850c173902ef57d1bf47e4c01624a" alt="antialts whitelist screenshot" width="1078" height="376" data-path="images/Screenshot-2026-05-05-at-12.21.54-AM.png" />
</Frame>

### Enabling and disabling antialts

You can enable or disable the antialts system using `antialts enable` or `antialts disable`.

### Manually checking a member

You can manually run the alt check on any current member to see what flags would fire.

<CodeGroup>
  ```typescript Syntax theme={null}
  .antialts check (member)
  ```

  ```typescript Example theme={null}
  .antialts check @h.azard
  ```
</CodeGroup>

<Frame>
  <img src="https://mintcdn.com/drown/or4rdm7iYt008HsI/images/Screenshot-2026-05-05-at-12.22.45-AM.png?fit=max&auto=format&n=or4rdm7iYt008HsI&q=85&s=b2f0e632f3d00e042c87ece9ab4c9c41" alt="antialts check screenshot" width="1114" height="752" data-path="images/Screenshot-2026-05-05-at-12.22.45-AM.png" />
</Frame>

### Viewing the ban cache

You can view the current in-memory ban cache to see which recent bans antialts is actively watching.

<CodeGroup>
  ```typescript Syntax theme={null}
  .antialts cache
  ```
</CodeGroup>
