New members are quarantined to a single verification channel. They must enter a code from a generated image using an interactive keypad — taking about 5 seconds for a real person, but blocking automated bots.
How It Works
- A new member joins your server and can only see the verification channel
- They click the Verify Me button
- An image with a randomized 6-digit code appears, along with a phone-style keypad
- The member enters the code by clicking the number buttons, then submits
- On success, they receive the Verified role and gain access to all channels
- On failure, the configured punishment is applied (kick, ban, or timeout)
The verification code is embedded in a server-generated image with visual noise, making it resistant to automated bots and OCR. Each user gets a unique code that regenerates on every failed attempt.
Setting Up Verification
You can set up verification from the dashboard or from Discord.From the Dashboard
Open the Dashboard
Go to dashboard.hashbot.com and select your server.
Select Channel and Role
Choose a verification channel and verified role from the dropdowns, or click the + button next to each to auto-create a
#verify channel or Verified role.Choose Punishment
Select what happens when a member fails verification: Kick (can rejoin), Ban (permanent), or Timeout (temporary mute).
From Discord (with auto-permissions)
Run/verification setup with no parameters to launch the interactive wizard:
- Select or create a verification channel
- Select or create a Verified role
- Choose the fail punishment (Kick, Ban, or Timeout)
- Auto-lock channels — automatically configures all public channels to require the Verified role (skips already-private channels)
Configuration Options
| Setting | Default | Description |
|---|---|---|
| Verification Channel | — | The channel where new members verify |
| Verified Role | — | The role assigned on successful verification |
| Max Attempts | 3 | Number of tries before punishment is applied |
| Timeout | 10 minutes | Time limit to complete verification before auto-kick |
| Fail Punishment | Kick | What happens when a member fails — Kick, Ban, or Timeout |
| Log Verifications | Enabled | Log verification results to the guild log channel |
Fail Punishment Options
| Punishment | Behavior |
|---|---|
| Kick | Member is removed but can rejoin and try again. Best for most servers. |
| Ban | Member is permanently banned. Use during active raids. |
| Timeout | Member is temporarily muted for a configurable duration. Gentlest option. |
Security
Verification provides multiple layers of bot protection:- Image-based codes — the 6-digit code is rendered in an image with visual noise, defeating text scrapers
- Unique per-user codes — each member gets a different code, preventing replay attacks
- Code regeneration — a new code is generated after each failed attempt
- Low brute-force odds — 1,000,000 possible combinations with only 3 attempts = 0.0003% chance of guessing
- Time limit — members who don’t verify within the timeout are automatically removed
- Works with existing filters — members flagged by name/PFP filters are banned before reaching verification
Troubleshooting
- Empty channel/role dropdowns on dashboard — the bot may not be in the server, or the server data hasn’t loaded yet. Refresh the page.
- “Already verified” message — the user already has the Verified role. Remove it manually if you want them to re-verify.
- Bot can’t send messages in verify channel — ensure the bot has View Channel, Send Messages, Embed Links, and Attach Files permissions in the verification channel.
Commands
| Command | Description |
|---|---|
/verification setup | Launch the interactive setup wizard |
/verification setup channel: role: punishment: | Quick setup with parameters |
/verification status | View current configuration and stats |
/verification panel | Resend the verification panel to the channel |
/verification verify user: | Manually verify a member (manager only) |
/verification disable | Disable verification |
Managing from the Dashboard
The dashboard at dashboard.hashbot.com provides:- Full setup from the web — select channel, role, and punishment without needing Discord
- Create channel/role — auto-create a
#verifychannel orVerifiedrole with the + button - Change settings anytime — update the channel, role, max attempts, timeout, and punishment
- Stats overview — total verifications, success rate, failures, and timeouts
- Verification logs — filterable table of all verification attempts with outcome, attempts, punishment, and date
- Resend panel — re-send the verification button to the channel
- Enable/disable toggle — turn verification on or off instantly