A powerful, advanced captcha verification system for new members in a Discord server.
- Node.js version 16.9.0 or later (Recommended: Latest LTS)
- NPM version 7.0 or later (Recommended: Latest)
- A Discord Application with a bot account
- CAPTCHA provider API sitekey and secret.
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
- Clone the repository
- Install the dependencies with
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 serverhttps://[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)
- Start the server with
npm startoryarn start - Add the bot to your server with
https://discord.com/api/oauth2/authorize?client_id=[CLIENT_ID]&permissions=8&scope=bot%20applications.commands - In
Oauth2 -> Redirectsadd the callback URLhttps://[your domain]/verify(e.g.https://example.com/verify) - Adding the bot to your server will automatically create a new role called
Verifiedand a new channel called#verify - The bot will automatically send a message in the
#verifychannel with a link to the captcha verification page - The user will have to complete the captcha
- After the user completes the captcha, they will be given the
Verifiedrole and notified in the DMs
Light Mode:
Dark Mode:

