A simple captcha (reCAPTCHA v2/v3, hCaptcha, Turnstile) verification bot for Discord.
A powerful, advanced captcha verification system for new members in a Discord server.
If you want to run this application without installing Node.js or other tools, you can use Docker to run it. Usage:
docker run \
-e VERIFIED_ROLE_ID=x \
-e CAPTCHA_PROVIDER=x \
-e REQUIRE_VERIFIED_EMAIL=x \
-e SERVER_ID=x \
-e RECAPTCHA_SECRET=x \
-e RECAPTCHA_SITEKEY=x \
-e HCAPTCHA_SITEKEY=x \
-e HCAPTCHA_SECRET=x \
-e TURNSTILE_SITEKEY=x \
-e TURNSTILE_SECRET=x \
-e CALLBACK_URL=x \
-e CLIENT_SECRET=x \
-e TOKEN=x \
ghcr.io/ckt1031/discord-captcha-bot
npm install
PORT
- The port to run the server on (default: 3000
)TOKEN
- The token of your Discord bot (Bot -> Token)CLIENT_ID
- The client ID of your Discord application (Oauth2 -> General -> Client ID)CLIENT_SECRET
- The client secret of your Discord application (Oauth2 -> General -> Client Secret)SERVER_ID
- The ID of the Discord your server (Right click on the server -> Copy ID)CALLBACK_URL
- The URL of the server https://[your domain]/verify
(e.g. https://example.com/verify
)REQUIRE_VERIFIED_EMAIL
- Whether to require a verified email address for the user to pass the captcha (default: false
)VERIFIED_ROLE_ID
- The ID of the role to give to the user after they pass the captcha (Right click on the role -> Copy ID)Register new Recaptcha v2 API key here
CAPTCHA_PROVIDER
- The captcha provider to use (default: recaptcha
), available options: recaptcha
, hcaptcha
Above options are only required if you are using specified captcha provider
RECAPTCHA_SITEKEY
- The site key of your Google reCAPTCHA v2 API key (Settings -> reCAPTCHA keys -> Copy Site key)RECAPTCHA_SECRET
- The secret key of your Google reCAPTCHA v2 API key (Settings -> reCAPTCHA keys -> Copy Secret key)HCAPTCHA_SITEKEY
- The site key of your hCaptcha API key (Site -> Site key)HCAPTCHA_SECRET
- The secret key of your hCaptcha API key (Settings -> Secret key)TURNSTILE_SITEKEY
- The site key of your Turnstile API key (Turnstile -> Site -> Site key)TURNSTILE_SECRET
- The secret key of your Turnstile API key (Turnstile -> Site -> Secret key)npm start
or yarn start
https://discord.com/api/oauth2/authorize?client_id=[CLIENT_ID]&permissions=8&scope=bot%20applications.commands
Oauth2 -> Redirects
add the callback URL https://[your domain]/verify
(e.g. https://example.com/verify
)Verified
and a new channel called #verify
#verify
channel with a link to the captcha verification pageVerified
role and notified in the DMsLight Mode:
Dark Mode: