Verification
Gate new members behind a button click, math question, captcha, or Discord OAuth login before they can chat.
On this page
Overview
Verification requires new members to complete a challenge before being granted your server's normal member role, which helps filter out raid bots and low-effort alt accounts.
Four methods are available: a simple button click, a math question, a secure captcha link, or a full Discord OAuth login. Each has its own difficulty and behavior settings.
Unverified members can be automatically kicked after a timeout or after too many failed attempts, and the Welcome message can be delayed to only send once verification actually succeeds.
Setup
- 1
Enable Verification
Toggle the module on from Overview or the Verification page.
- 2
Choose a verification method
Pick button click, math question, captcha, or Discord OAuth based on how much friction your server needs against raids.
- 3
Set the unverified and verified roles
Choose the role new members get before completing verification and the role they get afterward.
- 4
Configure the verification channel and log
Pick where the verification prompt is posted and where verification attempts (pass/fail/kick) are logged.
- 5
Set auto-kick behavior
Configure how long an unverified member has before being auto-kicked, and/or a max number of failed attempts before they're removed.
- 6
Tune method-specific settings
Adjust math difficulty and max attempts, captcha provider and link expiry, or OAuth minimum account age and suspicious-account auto-kick.
Examples
Illustrative mockups of what verification posts in Discord. They are not a live capture, but they match the real thing.
The verification prompt posted in the verification channel
🔒 Verify to unlock this server
Click the button below and follow the steps to confirm you're not a bot. You'll get access to the rest of the server once you're done.
You have 24 hours to verify before you're automatically removed
Configuration options
| Option | Description |
|---|---|
Verification Method Default: Captcha | Button click, math question, captcha (secure link), or Discord OAuth login. |
Verification Channel | Channel where the verification prompt is posted. |
Unverified Role | Role assigned to members before they complete verification. |
Verified Role | Role assigned once verification succeeds. |
Log Channel | Channel where verification attempts and outcomes are logged. |
Auto-Kick After Default: 1440 minutes (24h) | Minutes an unverified member has before being auto-kicked. 0 disables this. |
Max Failed Attempts Default: 5 | Failed verification attempts before the member is auto-kicked, independent of the time-based kick. 0 disables this. |
Welcome After Verify Default: On | Only sends the Welcome message once verification succeeds, instead of immediately on join. |
Math Difficulty Default: Easy | Easy, medium, or hard. Only applies when using the math question method. |
Math Max Attempts Default: 3 | Attempts allowed on the math question before failure. |
Captcha Provider Default: hCaptcha | hCaptcha or Cloudflare Turnstile. Only applies when using the captcha method. |
Captcha Link Expiry Default: 15 minutes | Minutes before a generated captcha link expires. |
OAuth Minimum Account Age Default: 7 days | Minimum Discord account age (days) required to pass OAuth verification. |
OAuth Auto-Kick Suspicious Default: On | Automatically kicks accounts flagged as suspicious during OAuth verification. |
Permissions
Bot permissions required
Who can configure this
Anyone with the dashboard's Owner or Admin access tier (Staff Access page), or Editor tier for day-to-day config changes
