The Verification module gives new members a check before they receive access roles. Looking for a Double Counter alternative you can trust? Here is what Advanced verification does:
- Optional alt checks. On by default. Use Alt checks in Dashboard → Verification or Alt Checks in
/verification settings. Disable them to keep network screening without browser fingerprint collection or new IP/device matching records. Linked-account presence, ban and account-switch rules apply only while alt checks are on. - Your accounts, your choice. No permanent main-account label. Use A in one server and B in another.
- One linked account per server. Other linked accounts must be absent before you can verify.
- No immediate account swaps. Wait 14 days after another linked account leaves. Premium servers can configure 0–365 days; the same account may return immediately.
- Server bans stay meaningful. Current Discord bans block linked accounts in that server. Checks use a ten-second cache and do not store bans.
- Protected matching records. Network and browser/device fingerprinting link Discord accounts across participating servers. Moderators see the result and reason, never raw observations.
- Clear recovery options. Ask staff to review a mistaken match. Presence/cooldown overrides stay local to that server; bans require an unban.
- Choose the right gate. Captcha and Password modes remain available alongside Advanced.
With alt checks enabled, shared networks and devices can produce incorrect links. Verification controls access roles; it does not automatically remove existing members. Privacy policy.
Members can also use /verify for a private verification response, or ;verify to post a Verify button that starts the same private flow.
Set up verification
Create a public #verify-here channel and a private staff log channel before starting.
Set up Captcha from the DashboardConfigure the gate, then choose access roles in Auto Roles.
- Open Dashboard → Verification.
- Choose Captcha.
- Select
#verify-hereas the saved panel channel and choose your private log channel. - Leave the failure action as None for your first test.
- Save the setup with Verification off. Optionally open Dashboard → Settings → Auto Roles, choose any After verification and Before verification roles, and save.
- Return to Dashboard → Verification, reload the settings, enable Verification and save.
- Select Send Panel.
- Test with a member who is not on the whitelist.
[Insert screenshot here]
The configured Verification page before sending the panel
What verification can do
- Captcha mode generates a unique distorted image for each user.
- Password mode lets you share a secret code with approved members.
- Log every success and failure to a private staff channel.
- Choose a failure action after three wrong attempts: warn, mute, timeout, kick, or ban.
- Add trusted members to the Whitelist so they skip the verification check.
- Give up to five roles on join and five different roles after verification.
- Send the public verification panel from Discord or the Dashboard.
Before you begin
- You need Manage Server to configure verification.
- Discortics needs Manage Server, Send Messages, Embed Links, Timeout Members, Ban Members, Kick Members, and Manage Roles.
- For autoroles, place Discortics above every role it will assign.
- Configure those roles through
/settings autoroleor Dashboard → Settings → Auto Roles. - Welcome-message delay is a separate setting from automatic roles.
Verification Limits
Limits depend on which Discortics bot serves your server.
| Resource | Public | Prime | Custom |
|---|---|---|---|
| Whitelisted users | Uncapped | Uncapped | Uncapped |
Change the verification gate
- Run
/verification settingsin your server. - In Setup, choose Captcha or Password.
- Pick a private staff channel for verification logs.
- Choose a Fail Action (defaults to Kick).
- Optionally add trusted members in Whitelist.
- Optionally run
/settings autoroleand save any After verification and Before verification roles. - Return to
/verification settingsand select Turn On. - Return to
/verification settings, select Send Panel, choose the destination channel, and optionally edit the default title and description.
- Discord saves each setting immediately.
- Dashboard → Verification changes require the save bar.
Options Explained
Run /verification settings to change any of these options.
Enable / Disable
The Turn On or Turn Off button controls the gate. When enabled, new members must verify before receiving the roles in the After Verification group. Roles in Before Verification are still given when they join.
When required setup is missing, the Setup tab shows a ⚠️ Verification might not work warning with the steps that still need attention. Configured setups do not show this warning.
Mode
Choose how members prove they are not a bot.
- Captcha: The bot generates a unique distorted image with coloured text. The user must type the text exactly as shown. The answer is case-insensitive and expires after 15 minutes. Captcha images are designed to resist automated text recognition.
- Password: The bot asks for a pre-set server password. The password is case-sensitive. This works well for private communities where you give approved members a code.
Switching modes does not clear your configured password.
Verification Channel
On the Dashboard, this is the saved text channel used by Send Panel. In Discord, Send Panel asks for a destination on each send and does not replace the Dashboard's saved channel. Use a read-only channel such as #verify-here where unverified members land when they join. Discortics needs View Channel and Send Messages there.
Log Channel
A private staff channel where the bot records every verification attempt. Logs include the member, status (success, failed, or action-failed), and reason.
Password
Available only in Password mode. Set a 4-100 character code that members must enter to verify. The password is stored securely and is never shown in plain text after being set.
To change the password, open the Password modal and enter a different value. You cannot retrieve the current password from the settings panel, only set a new one.
Failure Action
Captcha and Password apply the configured action after three incorrect attempts. Advanced applies it when linked-account, cooldown or network screening rejects access. Temporary check errors do not trigger it. The default is Kick.
| Action | Effect |
|---|---|
| Do nothing | No penalty. The user can restart verification immediately. |
| Warn | Issues a formal warning through the moderation system. Optionally DMs the user. |
| Mute | Prevents the user from speaking in text or voice channels for a set duration. Optionally DMs the user. |
| Timeout | Discord's built-in timeout. The user cannot send messages, join voice, or react for a set duration. Optionally DMs the user. |
| Kick | Removes the user from the server. They can rejoin and attempt verification again. Optionally DMs the user. |
| Soft Ban | Removes the member, deletes one day of messages, then unbans them. A scheduled release retries if immediate unbanning fails. |
| Ban | Permanently bans the user by default. You can set a ban duration for temporary bans and choose how many seconds of message history to delete. Optionally DMs the user. |
For Mute, Timeout, and Ban, you can set a custom duration in a format like 15m or 1h. Enter none for a permanent ban with no automatic unban.
The DM notification toggle controls whether Discortics attempts to message the user about the action. Discord may prevent DMs from bots in some cases.
Auto Roles
Before enabling verification, use /settings autorole or Dashboard → Settings → Auto Roles to configure roles. Roles are optional when enabling verification, and both selectors are available while verification is off. With verification enabled, there are two independent groups:
- Before Verification: given as soon as a member joins. Use these for a base or unverified role.
- After Verification: given after successful verification or an approved bypass. Use these to unlock the rest of the server.
While verification is off, After Verification roles are assigned on join and Before Verification roles remain inactive.
Each group accepts up to 5 roles on Public, 10 on Prime, and 20 on Custom. A whitelisted member receives both groups during their join flow. Read the Welcome, Leave, and Autorole guide for hierarchy requirements and troubleshooting.
Whitelist
Users in the Whitelist skip the challenge, linked-account presence restriction and account-switch cooldown. Linked-account bans still block access. Explicit staff approval can unban only the selected user with Ban Members permission; another linked account must be manually unbanned before staff retry approval. Approval for someone who left is saved for their return. When a whitelisted user joins, Discortics gives them both before- and after-verification roles immediately.
Open the Whitelist tab in /verification settings to browse the paginated member list. Each entry shows the member and their user ID. Use Add Members or Remove Members, then enter one or more comma-separated user IDs. You can also paste user IDs into the Dashboard.
The verification whitelist has no configured count cap on any bot tier.
Customize the verification message
Use the message builder in Dashboard → Verification for text, images, links, and a verification button or dropdown. Include exactly one verification action; variables are not substituted. Save before sending. This message does not consume saved-message capacity.
The Discord command does not edit or preview that saved custom layout. Its Send Panel modal sends a new default verification template and lets you change only that send's title and description. Use the Dashboard for custom layout editing and previews.
Send Panel
On the Dashboard, Send Panel posts the saved custom message to the saved verification channel. A custom panel may use a verification button or dropdown.
In Discord, Send Panel asks you to choose a channel and optionally edit the default title and description. It always sends a new default template with a Verify button; it does not publish or overwrite the Dashboard's saved custom message.
You must save all required fields before sending a panel. If any field is missing, the Send Panel button is disabled.
Sending a panel creates a new Discord message. It does not update panels that were posted previously.
Reset
Clears all verification settings and returns every option to its default value. The module is disabled, the mode resets to Captcha, and all fields are cleared.
Warning: Reset cannot be undone. Your whitelist, password, and failure action configuration are permanently removed. Automatic roles are left unchanged.
How Members Verify
- A new member joins and receives any Before Verification roles. Whitelisted members also receive the After Verification roles immediately.
- Members who are not whitelisted see the verification channel and use the verification button or dropdown in the panel.
- The bot sends an ephemeral message visible only to that member:
- In Captcha mode, the message includes a captcha image.
- In Password mode, the message prompts for the server password.
- The member clicks Enter Code to open a modal and types their answer.
- After a correct answer, the member is verified and receives the configured After Verification roles.
- After an incorrect answer, the remaining attempts are shown. The member has 3 tries total.
- On the third failure, the configured failure action is applied.
Captcha answers expire after 15 minutes. If the member waits too long, they must use the verification button or dropdown again to get a new captcha image.
Manage the Whitelist from Discord
Run /verification settings and open Whitelist:
- Browse ten whitelisted members per page, with each member's user ID shown in parentheses.
- Select Add Members and enter one or more comma-separated user IDs.
- Select Remove Members and enter one or more comma-separated user IDs. IDs that are not currently whitelisted are ignored.
- Use Previous and Next when the list has more than one page.
The Dashboard whitelist field accepts pasted user IDs. Changes made in Discord or the Dashboard affect the same list.
Dashboard
The Dashboard provides the same settings as Discord in a visual layout. It also includes:
- A Password input that shows whether a password is already configured without revealing it.
- A Clear Password toggle to remove the current password.
- A Send Panel button to post the verification panel to your channel.
- Numeric inputs for failure action duration and ban message-deletion seconds.
The Dashboard save bar appears when you have unsaved changes. All Discord changes save immediately; Dashboard changes save together when you confirm.
Premium-Only Behavior
Verification is available on Public, Prime, and Custom bots. The verification whitelist is uncapped on every tier.
Command Reference
| Command | Purpose | Required user permission |
|---|---|---|
/verification settings | Configure setup, automatic roles, the whitelist, and the public panel | Manage Server |
The message command ;verification opens the same settings panel.
Frequently Asked Questions
How do members get access after verifying?
After a successful verification, Discortics gives the member the roles configured under After Verification. Make sure your channel permissions are set so that only members with those roles can see the rest of the server.
The verification panel is not showing in my channel.
Check that the module is enabled and in a ready state. Confirm that Discortics has Send Messages and Embed Links in the verification channel. Use Send Panel in the settings to repost it if the original message was deleted.
Can users use image recognition on the captcha?
No. Discortics generates distorted captcha images designed to resist optical character recognition. The colours and distortion patterns change for each image.
What happens when a user is whitelisted?
Whitelisted users skip Captcha/Password challenges and Advanced presence/cooldown checks. Current linked-account bans still block Advanced access. They receive both automatic-role groups during their join flow and never see the captcha or password prompt.
Why are autoroles not being added?
Confirm that Discortics has Manage Roles and that its highest role is above every role it needs to assign. Then check whether the role is in the intended Before Verification or After Verification group.
Can I change the captcha difficulty?
No. Captcha difficulty is fixed and designed to be readable by humans while resistant to bots.
How long does a member have to complete the captcha?
The captcha answer expires after 15 minutes. After expiration, the member must click Verify again to receive a new captcha image and start over. This timer is not configurable.
Can I reset all settings and start over?
Yes. Select Reset in the Setup tab and confirm. This clears the whitelist, password, failed-attempt action, and channel assignments, then disables verification. Automatic roles are left unchanged.
Can I have both captcha and password active at the same time?
No. Verification uses one mode at a time. Switch between them in the Mode menu at any time.
Advanced verification
Select Advanced in /verification settings or Dashboard → Verification. The public panel sends a private, one-hour website link when a member clicks Verify. Generating another link invalidates the previous link. The member signs in with the same Discord account. The page checks the link automatically after sign-in. Every stage uses the public-page header. Successful verification shows only a green check and a confirmation to return to Discord beneath that header. Blocked accounts and connections show a dedicated rejection state with the reason and staff-review guidance. Temporary failures offer a retry, while approved checks awaiting role updates show a separate pending-access state. An expired or invalid link shows a notice with instructions to get a new link and a Sign out button for changing accounts. The account card shows their avatar and a Switch button to sign in with another account. The member continues after reading the privacy notice. The dark verification page keeps the sign-in action visible, with expandable How verification uses your data details and direct privacy-policy and GDPR-rights links. Members can decline and remain unverified.
Advanced links Discord accounts through network and browser/device fingerprinting across participating servers, without choosing a primary account. Any linked account can verify in a server when none of its other linked accounts is present there. Every automatic verification and rejoin checks current Discord membership; a failed lookup requires a retry. Known VPN/Tor addresses and listed network providers (ASNs) remain blocked. Shared networks or similar devices can cause matches. Required device checks must work; blocked, unavailable or inconsistent collection leaves verification incomplete and requires a retry or staff review. Fingerprints and public lists are imperfect; a block is not proof of identity or wrongdoing. The result is verified, unable to verify, or a linked-account conflict that needs staff review. Missing checks and unavailable services never count as a linked-account conflict.
If required device checks cannot finish, the page shows You are unverified. Your browser or its privacy settings may not support the checks. In Brave, Shields may block them: open the Shields icon beside the address bar, turn Shields off for the verification site, and retry. You can instead try another browser or ask server staff for review. Missing required checks do not grant verification.
If the connection is listed as iCloud Private Relay, you remain unverified:
- iPhone or iPad: Safari → Page Menu → Show IP Address.
- Mac: Safari → View → Reload and Show IP Address.
- Reload the verification page and retry.
- Apple's Private Relay guide.
Safari itself is supported. A relay block uses Apple's published connection ranges, not the browser name.
Protected matching records are linked to the Discord account across all servers using Advanced. Both IP and browser/device fingerprint matching values are stored as keyed HMAC-SHA-256 hashes, alongside account and server IDs, verification state, timestamps and technical matching metadata. They remain while the user belongs to an Advanced-enabled server, then for one year after their last participating membership ends. Raw IPs and device observations are not stored in verification records. These records contain no GPS coordinates, city, country, or location history, and our browser check does not request location permission. Cloudflare separately processes connection information and the security challenge. An account verified with the current provider does not repeat screening in other Advanced servers.
Use /verification whitelist user:<ID or @mention> or ;verification whitelist <ID or @mention> to manually approve a member. This grants after-verification roles now and bypasses challenges and Advanced presence/cooldown checks on future rejoins only in this server. Current linked-account bans still require an unban. It does not create global verification status. A temporary role failure leaves the whitelist approval saved; retry after correcting permissions. First-time Advanced joins have no verification deadline. Ordinary confirmed first-verification rejections retain a fifteen-minute retry window. Failed previously verified rejoins apply the configured failure action immediately unless the server has Premium and Appeals enabled, which grants fifteen minutes from the first rejection. Linked-account bans also require Premium and Appeals enabled for the fifteen-minute grace. Ten rejected rejoins within twenty-four hours cause a ban. Captcha and Password apply their failure action after three incorrect attempts. Temporary check errors do not create confirmed rejection actions or start a join deadline.
Account-switch cooldown and current bans
Advanced uses a 14-day cooldown after another linked account leaves this server. Returning with the same account is allowed immediately. On Prime or Custom, open Dashboard → Verification → Account-switch cooldown (days) or /verification settings → Switch Cooldown and choose 0–365 whole days. Zero disables the cooldown. A downgrade restores the effective 14-day default without discarding the saved Premium value.
The bot checks each linked account's current Discord ban through the single-user endpoint, including existing bans. It needs Ban Members or View Audit Log; unavailable checks defer access. Boolean results are cached for ten seconds in bounded worker memory and invalidated by Ban Add/Remove events when delivered. No ban list is downloaded and no ban state is stored in MongoDB. Whitelisting bypasses presence/cooldown checks, but does not bypass a linked account's current ban. Link detection still requires retained observation evidence.
Premium servers can enable Appeals, select up to three ping roles, and enable DM on join in the dashboard or /verification settings → Premium Settings. Members can submit one outstanding appeal of up to 200 characters through the signed-in website or Discord modal. Staff review it in verification logs. With join DMs enabled, a failed returning member receives a Submit Appeal link button; otherwise they click Verify in the server to open the private appeal modal. Appealing does not grant access or extend removal deadlines.
Review a verification log
Logs use V1 embeds with Success or Failed and the verification Mode. Successful logs omit the reason. Use Choose an Action → Whitelist this user to approve the logged member in this server. Anyone currently authorized to use /verification settings can run this action. Linked-account bans still require an unban.
Staff shortcuts
On Premium, right-click a member and use Apps → Verify Request to send a verification DM, or Whitelist to choose which modules should exempt them. Verify Request does not reset completed verification or remove roles. Both actions require private confirmation.
Failure logs offer Whitelist this user, and appeal logs also offer Reject Appeal. Each option opens a private flow and writes a fresh audit log. The original log stays unchanged. Dropdowns have emojis and Cancel as the last option; Cancel makes no changes.