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

# Block Auto-Generated Usernames

> Automatically ban the machine-generated usernames scam tooling creates — like confident_sparrow_44492.

Scam and raid tooling mass-creates Discord accounts with **auto-generated usernames**: two random words plus five digits, like `confident_sparrow_44492` or `jovial_avocado_88213`. Hashbot can recognize and ban these accounts on join — no filters to write, no lists to maintain.

<Check>
  Available to **active Subscribers**. One toggle, zero upkeep — the detection vocabulary is maintained centrally by the Hashbot team.
</Check>

### How It Works

1. A new member joins (or changes their name) with the generated-name shape: `word_word_12345` (also with `.` separators)
2. Hashbot checks both words against the **same vocabulary the scammers' name generators use**
3. If both words match, the member is **banned automatically** — the ban appears in your logs with the reason `[built-in] generated scam username`

<Info>
  Because both words must come from the generator's own vocabulary, ordinary names that merely end in digits — like `john_smith_12345` — are **not** flagged. Allowlisted members, managers, and bots are always exempt.
</Info>

### Enabling It

<Steps>
  <Step title="Open the Dashboard">
    Go to [dashboard.hashbot.com](https://dashboard.hashbot.com) and select your server.
  </Step>

  <Step title="Navigate to Text Filters">
    Click **Text Filters** in the Hashbot sidebar.
  </Step>

  <Step title="Toggle it on">
    Enable **Block auto-generated usernames**. That's it — detection starts immediately.
  </Step>
</Steps>

### Why Use It Instead of a Regex?

You *could* approximate this with a broad regex like `^[a-z]+_[a-z]+_[0-9]{5}$` — but that pattern also matches legitimate users whose names happen to fit the shape. The built-in detector only fires when the words themselves come from scam tooling vocabulary, giving you the coverage without the false positives.

### Best Practices

* Pair it with [Verification](/docs/verification) — generated-name bans catch the accounts that scam tooling creates, verification stops the ones it drives
* Watch your ban logs for the `[built-in] generated scam username` reason to see it working
* If you previously added your own broad `word_word_12345`-style regex filters, you can keep them — the two work side by side
