Skip to main content

Documentation Index

Fetch the complete documentation index at: https://celestia.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The Verification system lets you gate access to your server behind a verification step. New members receive an unverified role on join, restricting their access to all channels until they complete verification. Once verified, the unverified role is removed and the verified role is assigned automatically. Channel permissions are synced across the entire server so unverified members cannot see or interact with any channels except the verification channel.

Verification Types

Button

User clicks a single Verify button to instantly gain access. Best for low-security servers.

Captcha

User solves a randomly generated math or text captcha. Includes attempt tracking and a 10-minute cooldown after too many failures.

Reaction

User reacts to a message with a configured emoji. Can be linked to any existing server message.

Commands

Opens the interactive setup panel to configure the verification system. Roles and a #verify channel are created automatically if they do not already exist.
   ,verification
Aliases: vsetup, setverify, setverification Permissions: Server Owner, Extra Owner, or Antinuke Admin
Disables the verification system and removes all configuration for the server. Does not delete any roles or channels.
   ,verification disable
Aliases: verification off, verification remove Permissions: Server Owner, Extra Owner, or Antinuke Admin
Changes the role assigned to a member after they successfully verify.
   ,verification verified <role>
Permissions: Server Owner, Extra Owner, or Antinuke Admin
Changes the role assigned to new members before they verify. Automatically re-syncs channel permissions across the server after updating.
   ,verification unverified <role>
Permissions: Server Owner, Extra Owner, or Antinuke Admin
Moves the verification panel to a different channel. The old panel is deleted and a new one is sent in the specified channel.
   ,verification channel <#channel>
Permissions: Server Owner, Extra Owner, or Antinuke Admin
Sets a custom emoji for reaction-type verification. Supports both unicode and custom server emojis. Only applies when verification type is set to reaction.
   ,verification emoji <emoji>
Permissions: Server Owner, Extra Owner, or Antinuke Admin
Links verification to an existing message in your server. The bot will add a reaction to that message instead of sending its own panel. Only works with reaction type verification.
   ,verification message <link|id>
Permissions: Server Owner, Extra Owner, or Antinuke Admin

How Setup Works

Running ,verification opens an interactive setup menu. Select a verification type and the bot will:
  1. Create or reuse an Unverified role (no permissions)
  2. Create or reuse a Verified role
  3. Create or reuse a #verify channel visible only to unverified members
  4. Sync permission overwrites across every channel in the server so unverified members cannot view them
  5. Send the verification panel in #verify
Running setup again on an already-configured server will re-sync all channel permissions and update the panel, but will keep your existing roles and channel intact.

Captcha System

When verification type is set to captcha, members must solve a randomly generated challenge before gaining access.
A simple arithmetic problem using addition, subtraction, or multiplication. Example: 34 + 17
The system tracks failed attempts per member. After reaching the limit, a 10-minute cooldown is applied before they can try again.
SettingValue
Max attempts5
Cooldown duration10 minutes
Captcha expiry5 minutes

Channel Permission Sync

When setup runs or the unverified role is changed, the bot automatically edits permission overwrites in every channel to deny the unverified role the following:
  • View Channel
  • Send Messages
  • Read Message History
  • Connect (voice channels)
  • Send Messages in Threads (forum and media channels)
The verification channel itself is excluded from this sync and remains visible to unverified members.
Channels where the bot is missing Manage Channels permission will be skipped. The bot will report how many channels were skipped after syncing.

Reaction Verification

When type is set to reaction, members react to a message with the configured emoji to verify. By default this is ✅, but you can change it with verification emoji. You can also link verification to any existing message in your server using verification message. The bot will react to that message and listen for matching reactions. This is useful if you want verification embedded inside a rules or welcome message.
When a custom message is linked, the bot’s own verification panel is removed since the custom message takes over.

New Member Flow

  1. Member joins the server
  2. Bot assigns the Unverified role automatically
  3. Member receives a DM directing them to the verification channel
  4. Member completes verification
  5. Bot removes the Unverified role and assigns the Verified role
  6. Member now has full access to the server
If a jailed member leaves and rejoins, they are re-jailed immediately and do not go through the verification flow.

Role Safety

The bot validates roles before using them to prevent misconfigurations. A role will be rejected during setup or when using subcommands if it:
  • Is a managed or integration role
  • Is positioned above the bot’s highest role
  • Has dangerous permissions such as Administrator, Manage Guild, Manage Roles, Ban Members, or Kick Members

Best Practices

  • Use captcha type for public servers that are frequently targeted by bot raids.
  • Use button type for invite-only or community servers where a simple gate is sufficient.
  • Use reaction + custom message to embed verification naturally into a rules channel.
  • After setup, double-check the unverified role is not assigned any channel-level allow overwrites elsewhere.
  • Ensure the bot’s role is positioned above both the verified and unverified roles in your role list.
If the bot’s role is below the verified or unverified role in the hierarchy, role assignment will silently fail and members will not be verified.