> For the complete documentation index, see [llms.txt](https://docs.asagi.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.asagi.xyz/guides/verification.md).

# Verification

## Step 1: Assigning an Automatic Role

Assign an automatic role to users who join your server. This can be the “<mark style="color:red;">Unverified</mark>” role or any other role that restricts access to the server's main channels.

<figure><img src="https://3927572991-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2FHaDV3X7XVRu3e23oId63%2Fchrome_Ol42H7g2lT%20(1).gif?alt=media&amp;token=d000151b-5d67-4396-b89a-e5e3d4ac6a21" alt=""><figcaption><p>Example: Assigning the "<mark style="color:red;">Unverified</mark>" role</p></figcaption></figure>

## Step 2: Setting Up Channel and Category Permissions

Configure the permissions for channels and categories. Ensure that the role assigned in the previous step (e.g., “<mark style="color:red;">Unverified</mark>”) has restricted access to most channels. Specifically, remove the "<mark style="color:yellow;">View Channels</mark>" permission for the "<mark style="color:red;">Unverified</mark>" role in channels where access should be restricted, and add the same "<mark style="color:yellow;">View Channels</mark>" permission for the <mark style="color:green;">@everyone</mark> role.

<figure><img src="https://3927572991-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2FggFusfDwvDOJJGUiZKXJ%2FDiscord_YXYlW8l5CC.gif?alt=media&amp;token=c67e32f7-f3ea-4072-8be5-ad0afe7ee302" alt=""><figcaption><p>Example: Configuring category permissions</p></figcaption></figure>

## Step 3: Creating a Verification Channel

Create a private text channel for verification. Set the channel permissions so that only the role assigned in the first step (e.g., “<mark style="color:red;">Unverified</mark>”) has the "<mark style="color:yellow;">View Channels</mark>" permission. This ensures that only new users can access the verification process, while other roles do not see this channel.

<figure><img src="https://3927572991-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2FDVPuXIKK7HouNdDKWOkk%2FDiscord_WsDPisRS7c.gif?alt=media&amp;token=427102fb-ddb6-4d87-a90e-40ee1d716d2d" alt=""><figcaption><p>Example: Creating a verification channel</p></figcaption></figure>

## Step 4: Sending a Message

Send a message in the verification channel using the `/say` command from our bot. You can also use JSON code to generate an embed for a more customized message. For detailed instructions on how to create embeds using JSON, refer to the [JSON Builder Guide](/guides/json-builder-in-the-asagi-bot.md).

<figure><img src="https://3927572991-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2F2tUwxDXQJ0Tz1KeIeDfm%2FDiscord_LzZkS6e2UE.gif?alt=media&amp;token=ee3514e2-b340-43cf-8d73-6e4232592d4b" alt=""><figcaption><p>Example: Message with verification instructions</p></figcaption></figure>

## Step 5: Using Reactions or Interactive Messages

### **Example 1: Using Reactions**

For verification via reactions:

1. **Configure Reaction**: Set up our bot to respond to a specific reaction on the verification message.
2. **Role Management**: When a user reacts, the bot will:
   * Remove the "<mark style="color:red;">Unverified</mark>" role
   * Assign the "<mark style="color:green;">Verified</mark>" role

#### **Example Setup:**

* **Reaction**: A specific emoji (e.g., ✔️)
* **Role to Remove**: "<mark style="color:red;">Unverified</mark>"
* **Role to Assign**: "<mark style="color:green;">Verified</mark>"

<figure><img src="https://3927572991-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2FSgoBsml75PF2aFtVlTMS%2FDiscord_XsrUvifs98.gif?alt=media&amp;token=c6d7d18a-63f9-4f6c-b967-4aeed60191ef" alt=""><figcaption><p><strong>Example: Reaction-based verification</strong></p></figcaption></figure>

### **Example 2: Using Interactive Messages**

For verification via interactive messages:

1. **Configure Interactive Message**: Use buttons in your interactive messages to handle verification.
2. **Role Management**: When a user clicks a button, the bot will:
   * Remove the "<mark style="color:red;">Unverified</mark>" role
   * Assign the "<mark style="color:green;">Verified</mark>" role

#### **Example Setup:**

* **Button Emoji**: e.g., ✔️
* **Role to Remove**: "<mark style="color:red;">Unverified</mark>"
* **Role to Assign**: "<mark style="color:green;">Verified</mark>"

<figure><img src="https://3927572991-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Hy8ldYgZJ9GQJFAuYLR%2Fuploads%2FYEw7LPE11F0C7BDOiv4c%2FDiscord_ARFegAiTdL.gif?alt=media&amp;token=31b5f357-1dbd-4a3a-8810-b7a9bf3f39b3" alt=""><figcaption><p>Example: Button-based verification</p></figcaption></figure>
