# Verification

The verification system protects your server from raids and bot accounts by requiring new members to complete a challenge before gaining access.

***

## How It Works

1. A new member joins the server
2. The bot sends them a **verification prompt** via DM (or in a fallback channel)
3. The member must complete the challenge (click a button or solve a captcha) within the timeout
4. On success: the member receives the **verified role** and gains access
5. On failure: the configured action is applied (ignore, kick, or ban)

***

## Setup

### 1. Set the Verification Level

```
/verification level <Button|Captcha>
```

| Level       | Description                                  |
| ----------- | -------------------------------------------- |
| **Button**  | Member must click a button to verify         |
| **Captcha** | Member must solve a text captcha sent via DM |

### 2. Set the Verified Role

```
/verification role <@role>
```

The role granted to members after successful verification. Typically, this is a role that unlocks access to your server's channels.

### 3. Set the Timeout

```
/verification timeout <seconds>
```

How long the member has to complete verification (15–600 seconds). Default behavior depends on your configuration.

### 4. Set the Failure Action

```
/verification action <Ignore|Kick|Ban>
```

| Action     | Description                                   |
| ---------- | --------------------------------------------- |
| **Ignore** | Do nothing if verification fails or times out |
| **Kick**   | Kick the member from the server               |
| **Ban**    | Ban the member from the server                |

### 5. Set the Fallback Channel (Optional)

```
/verification channel <#channel>
```

If a member has DMs disabled, the verification prompt will be sent in this channel instead.

***

## Commands

| Command                            | Description                                            |
| ---------------------------------- | ------------------------------------------------------ |
| `/verification disabled`           | Disable the verification system                        |
| `/verification level <level>`      | Set the verification level (`Button` or `Captcha`)     |
| `/verification action <action>`    | Set the action on failure (`Ignore`, `Kick`, or `Ban`) |
| `/verification timeout <seconds>`  | Set the verification timeout (15–600 seconds)          |
| `/verification role <@role>`       | Set the role granted upon verification                 |
| `/verification channel <#channel>` | Set the fallback channel for users with DMs closed     |
| `/autoverify <@member>`            | Manually verify a member                               |

***

## Recommended Setup

1. Create a role (e.g., "Verified") and configure your channels so only verified members can see them
2. Set up verification: `/verification level Captcha`
3. Assign the role: `/verification role @Verified`
4. Set a timeout: `/verification timeout 120`
5. Set failure action: `/verification action Kick`
6. Set a fallback channel: `/verification channel #verify-here`
7. Test with a new account or ask a friend to join

{% hint style="warning" %}
The bot needs the **Manage Roles** permission and its role must be **above** the verified role in the role hierarchy.
{% endhint %}
