Skip to content

How to Set Up Discord Captcha Verification? Step-by-Step Guide

Hold the new member's role until they enter the code in the image: select the role to be held, open the captcha gate from the Anti-Raid Shield tab, learn what members with direct messages closed see and the errors that silently disable the gate.

VeyroBot team

This article was translated automatically from the Turkish original. Read the Turkish original

How to Set Up Discord Captcha Verification? Step-by-Step Guide
In this article
  1. Are captcha and raid lock the same thing?
  2. Channel permissions, role to be held, and backup channel
  3. Step 1: Select the role to be held
  4. Step 2: Turn on the captcha
  5. What does the member see?
  6. Relationship with welcome, delay, and bulk role
  7. If the gate is silently disabled
  8. Is a captcha needed on an invited or verified server?
  9. Frequently asked questions

In Short

Captcha verification requires a newly joined account to enter a code from an image before receiving any roles. In VeyroBot, this gate is opened in the Anti-Raid Shield tab of the panel. A six-character visual code is sent to the new member via direct message, and their role is held until they enter the code. No one is kicked from the server, and there is no time limit.

The gate works by holding the role; it does not touch channel permissions. Therefore, you first set up what the unverified member will see and which role they will receive, and then you set up the captcha.

Are captcha and raid lock the same thing?

No. Both are separate layers resting in the same tab. Raid lock disables messaging and adding reactions for @everyone in text channels when joins reach the threshold within your specified duration; it is against mass attacks. Captcha, on the other hand, stops each new member individually and ties their role to verification. The threshold, account age, and panic mode are explained in the ⟦0⟦Discord anti-raid setup⟩0⟦ guide. This article focuses solely on the verification flow and what the member sees.

This topic in VeyroBot:Discord Anti-Raid Bot →

Channel permissions, role to be held, and backup channel

  • ⟦0⟦Channels visible to the roleless member must be ready.⟩0⟦ Unverified members should only see a few channels like rules and welcome; chat channels must be open to the member role. If channels are open to @everyone, the captcha prevents nothing.
  • ⟦0⟦There must be a role to be held.⟩0⟦ Either of the two ways is sufficient: the Auto Roles module is enabled and ⟦1⟦New Joined Member Role (Humans)⟩1⟦ is selected, or the ⟦2⟦Verified Role⟩2⟦ in the captcha settings is chosen. If neither is present, the captcha switch remains inactive.
  • ⟦0⟦The bot's role must be above the role it will assign.⟩0⟦ A verified role that the bot cannot assign will not be saved. The logic of role hierarchy is in the ⟦1⟦Discord role and permission system⟩1⟦ article.
  • ⟦0⟦The bot must be able to write to the backup channel.⟩0⟦ Members with direct messages closed see the verification in the welcome channel, or in Discord's system channel if no welcome channel is selected.

Step 1: Select the role to be held

If you use an auto role, select and save the member role in the ⟦0⟦Panel → your server → Auto Roles⟩0⟦ tab under the ⟦1⟦New Joined Member Role (Humans)⟩1⟦ field. The ⟦2⟦/setautorole role:@Member⟩2⟦ command also does the same job. When captcha is enabled, this role is given after verification, not as soon as they join.

If you do not use an auto role, select a role from the ⟦0⟦Anti-Raid Shield⟩0⟦ tab under the ⟦1⟦Verified Role (if you do not use autorole)⟩1⟦ list to be given only to those who verify. If you set both, the verifying member receives both roles.

Step 2: Turn on the captcha

  1. Open the ⟦0⟦Panel → your server → Anti-Raid Shield⟩0⟦ tab.
  2. Turn on the main ⟦0⟦Anti-Raid & Security Shield⟩0⟦ switch. If this switch is off when saving, the module turns off and the captcha will not work.
  3. Turn on the ⟦0⟦Visual Captcha Verification Gate⟩0⟦ switch. If the switch is inactive, a warning appears below it: "First select a member role from the Autorole tab."
  4. Click ⟦0⟦Save Anti-Raid Settings⟩0⟦.

The main switch also activates the raid lock; adjust the lock threshold and counting duration in the same tab according to your server. If there is no role to be held, the captcha cannot be saved as enabled, and the panel notifies you with a warning.

What does the member see?

⟦0⟦If their direct messages are open:⟩0⟦ A message titled "Security Verification" arrives. Inside, there is an image of the code and a ⟦1⟦Verify⟩1⟦ button. The button opens a window, and the member types the code. If the code is correct, roles are assigned immediately and the member sees the response "Verification successful".

If DMs are closed: the verification falls back to the backup channel. This message contains no code or image; it only displays the member's tag and a Start Verification button. Discord does not allow a bot to send a message visible only to a specific member without them pressing a button first. Therefore, the code is shown only to the member when they click the button. If someone else clicks it, they receive the response "This verification belongs to another member." The message stays in the channel until the member verifies or leaves the server.

⟦0⟦Code length⟩0G6 characters.
CharactersUppercase letters and numbers. Easily confused characters like I, O, 0, and 1 are not used.
Case sensitivityDoes not matter.
Incorrect attemptsRemaining attempts are shown on each mistake. A new code is generated on the third mistake; the member is not locked out.
Time limitThere is no limit. Members can verify whenever they want, no one is kicked.
BotsThey do not go through Captcha; if a bot role is selected, it is given normally.

Relationship with welcome, delay, and bulk role

  • ⟦0⟦Does not wait for the welcome message.⟩0⟦ Captcha only delays the role; the welcome card is sent even before the member verifies. Check the ⟦1⟦welcome message and auto role⟩1⟦ guide to set up the welcome channel.
  • ⟦0⟦Role assignment delay is not applied.⟩0⟦ When Captcha is enabled, the auto role is given immediately after verification; the delay in the Auto Roles tab is not waited for these members.
  • ⟦0⟦Bulk role distribution skips pending members.⟩0⟦ ⟦1⟦/roleall⟩1⟦ does not give roles to members awaiting verification, and the verified role cannot be distributed in bulk.
  • ⟦0⟦Only newly joined members are verified.⟩0⟦ Members who were already on the server before you turned on Captcha are not affected.

If the gate is silently disabled

  • ⟦0⟦Leaving channels open to @everyone.⟩0⟦ If a roleless member can see and write everything, verification becomes just a formality.
  • ⟦0⟦Turning off the auto role later or deleting the role.⟩0⟦ If a verified role is not selected, the gate is silently disabled and new members are not verified. The Health card in the Overview shows this under the "Captcha verification gate" check.
  • ⟦0⟦Deleting the welcome channel and not selecting a new one.⟩0⟦ If the setting points to a deleted channel, a member with DMs closed will not see the verification message anywhere and will wait without a role. The same happens if neither a welcome channel nor a system channel exists.
  • ⟦0⟦The bot lacking permission to write in the backup channel.⟩0⟦ If a member has DMs closed and the bot cannot write to the channel either, verification cannot be started and that member gets their role without verifying. Check the bot's permission to send messages in the welcome or system channel.

Is a captcha needed on an invited or verified server?

⟦0⟦Suitable for:⟩0⟦ servers with publicly circulating invite links focused on gaming and streaming; communities that want to give roles only to accounts that prove they are human.

⟦0⟦Not suitable:⟩0✉ private invite-only servers. There, a captcha only adds friction; Discord's own verification level is usually enough. In servers where staff manually approve each member, a captcha alone is also not enough.

Frequently asked questions

What happens to a member who fails the captcha?

They stay in the server but do not get their role. They can try again whenever they want; after three mistakes, they get a new code.

What happens if a member leaves and rejoins?

When they leave, the pending verification record and the verification message in the channel are deleted. When they rejoin, verification starts over with a new code.

Which roles are given when verification is completed?

If selected, the verified role, and if the Auto Roles module is enabled, the human member role. Both are only given if they are below the bot's role.

How do I know the captcha gate is working?

The "Captcha verification gate" check on the health card will appear as failed if the role has been deleted or if the Auto Roles module is disabled. The most definitive test is to join with a secondary account that has direct messages disabled and try the button.

For a general introduction to the feature, you can check the Discord anti-raid bot page, for settings, the AutoMod and Anti-Raid and automatic roles documentation, and for command details, the setautorole, roleall and unlock cards.

Last update: September 26, 2026. The code rules, direct message and backup channel behavior, and role holding rules in this article have been verified against the captcha gate, member join flow, and Anti-Raid setting code in the current version of VeyroBot.

Add the bot to your server Free · ~30s