Guide/Protect your server/Verification
Discord Verification Bot: Captcha & Button Setup
Button, captcha, web and suspicious-only verification, and the role setup that actually gates people.
Quick answer
Web verification with an unverified role
!verification setup web @Verified #verify unverified_role:@Unverified
!verification message "Welcome {user.mention}!"
!security set verification.kickAfterHours 24 # remove members who never verify
!verification statusAsk the guide
Step by step
Two modes. Button: one click in the verification channel. Web: the member opens a personal link, signs in with Discord on this website, passes a Cloudflare Turnstile check, and the bot verifies only if the signed-in account is the one that pressed Verify. Web mode stops scripted mass-verification: links are single-use and expire, the page requires a real Discord session, and the check is rate-limited per account and per IP.
!verification setup button @Verified #verify
!verification setup web @Verified #verify unverified_role:@Unverified embed:verify-card
!verification message "Welcome {user.mention}! You now have access to everything."
!verification post · !verification status · !verification disableRole setup that actually gates people
- Remove View Channel from
@everyoneon your normal channels (or the categories) and grant it to@Verified. - Keep #verify visible to
@everyone(and not to@Verified, so it disappears once verified). - Optional unverified role: given on join and removed on success; useful when your permissions are built around an explicit "Unverified" role instead.
- Put the bot's role above
@Verified.
The dashboard page Security → Verification shows verified / failed counts for 24 h, lets you switch mode, roles, channel and success message, and re-post the message. Verification creates a member.verify event, so autoroles with the verify trigger and custom embeds bound to verification fire on it.
Copy and try
Web verification with an unverified role
!verification setup web @Verified #verify unverified_role:@Unverified
!verification message "Welcome {user.mention}!"
!security set verification.kickAfterHours 24 # remove members who never verify
!verification statusGood to know
- The verified role must not carry moderation permissions; the bot refuses such a role.
- The bot role must sit above @Verified.
If it does not work
- Button does nothing. !verification status — usually the role is above the bot or verification is disabled.
Still stuck? Ask in the support server.