# Verification

Post a captcha panel on Discord so only humans get the verified role and can see the city's channels.

Source: https://fivedash.fivex.gg/docs/en/discord/verification

**Verification** is your city's front gate on Discord. Newcomers find a panel with a button, solve an image captcha and get the verified role. Fake accounts, bots and freshly created accounts stay outside. This page is for the owner and the staff who run the server's Discord.

## Before you start

* **Plan:** the Discord module must be in the organization's plan (Plus, Pro and Ultra all include it).
* **Bot connected:** the city's bot must be connected to the Discord server. See [Bot](https://fivedash.fivex.gg/docs/en/discord/bot).
* **Access level** on the **Verification** area:

| Level         | What it allows                                                         |
| ------------- | ---------------------------------------------------------------------- |
| **View**      | Verification activity (numbers and attempts table)                     |
| **Configure** | Roles, messages and panel (save, publish, resend and delete the panel) |

People with only **View** see the notice: "Your access only lets you view the verification settings."

* **Roles on Discord:** the bot's role must be **above** the verified role and the removed role. Roles above the bot show as **Above the bot** in the picker.
* **Kicking:** to use **Kick from the server**, the bot needs the **Kick Members** permission.

## How it works on Discord

1. The bot posts the **panel** in the chosen channel, with the button **Verify** (default text) and, if on, a second explanation button (**Why verify my account**).
2. The member clicks the button. The bot replies in a private message (only they see it) with a captcha image and a menu with **5 codes**. Each code has 6 characters, shown in two groups (e.g. `UAX XYC`).
3. The member picks the code that matches the image. The code is valid for **3 minutes**.
4. Right answer: they get the **Verified role**, lose the **Remove role** (if set) and see the **Success message**.
5. Wrong answer: they see how many attempts are left and a **Try again** button, which draws a new captcha. When attempts run out, they're locked for the **Lockout** time (and kicked, if you chose **Kick from the server**).

Other replies the member may see:

| Situation                                    | What the bot says                                                           |
| -------------------------------------------- | --------------------------------------------------------------------------- |
| Already has the verified role                | "You're already verified."                                                  |
| Verification off or no role set              | "Verification is turned off right now."                                     |
| Account younger than **Minimum account age** | "Your account is too new to join here. It must be at least **N days** old." |
| Code expired or already answered             | "This code has expired. Get a new one."                                     |
| The bot couldn't give the role               | "I couldn't give you the role. Let the server's staff know."                |

> The captcha always uses the easy level: little noise and clearly different options. The image background uses the verification messages' color.

> Default texts follow the city's language. A city in Portuguese starts with the Portuguese texts (button "Responder").

## Set up and publish the panel

### Open the page

In the dashboard, go to **Discord → Verification**.

### Pick the panel channel

Under **Panel → Channel**, pick where the bot posts the message with the verification button.

### Pick the roles

Under **Roles**, pick the **Verified role**. If you use an "unverified" role, pick it under **Remove role**. The two must be different.

### Tune the protection

Under **Protection**, set **Attempts**, **Lockout**, **When attempts run out** and **Minimum account age**.

### Turn it on and save

Turn on the switch at the top (it goes from **Off** to **On**) and click **Save** in the bar that shows up at the bottom.

### Publish

Click **Publish panel**. The **Panel published** notice confirms it. After that, the button becomes **Resend panel**.

> Make the server's channels visible only to the verified role, and keep the panel channel open to everyone. That way only people who passed the captcha get in.

**Publish panel** stays blocked while:

* there are unsaved changes ("Save your changes before publishing.");
* verification is off ("Turn verification on and save to publish the panel.");
* the channel or role is missing ("Pick the channel and the role first.").

Once the panel is published, saving new settings updates it on its own. If you change the channel, the bot posts in the new channel and deletes the old message. To take the panel off Discord, use the **More panel options** menu (the three dots next to **Resend panel**) → **Delete panel**.

## Settings

### Panel

| Field                           | What it does                                                                          | Default |
| ------------------------------- | ------------------------------------------------------------------------------------- | ------- |
| **Channel** (**Panel channel**) | Where the bot posts the message with the verification button. Required to turn it on. | None    |

### Roles

| Field             | What it does                                                                                       | Default |
| ----------------- | -------------------------------------------------------------------------------------------------- | ------- |
| **Verified role** | Whoever solves the captcha gets this role. Required to turn it on.                                 | None    |
| **Remove role**   | Optional. Taken from whoever verifies, like an "unverified" role. Must differ from the role given. | None    |

### Protection

| Field                     | What it does                                                    | Options                                                                                                                    | Default       |
| ------------------------- | --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------- |
| **Attempts**              | How many mistakes in a row before locking.                      | 1, 2, 3, 4, 5 or 10 attempts                                                                                               | 3 attempts    |
| **Lockout**               | How long someone who failed too often has to wait to try again. | 5 min, 10 min, 30 min, 1 h, 6 h, 1 day                                                                                     | 10 min        |
| **When attempts run out** | What happens to someone who gets them all wrong.                | **Just lock** (they wait for the lockout and try again) or **Kick from the server** (they can come back with a new invite) | **Just lock** |
| **Minimum account age**   | Blocks recently created Discord accounts, common in raids.      | **No limit**, 1, 3, 7, 14 or 30 days                                                                                       | **No limit**  |

Mistakes count within the **Lockout** window: a correct answer resets the count.

### Logs

| Field           | What it does                                                                                                      | Default |
| --------------- | ----------------------------------------------------------------------------------------------------------------- | ------- |
| **Log channel** | Optional. The bot reports every verification, lockout and blocked account here, with the account's creation date. | None    |

## Messages

In the right column, click **Messages** (**Texts and buttons**) to open **Customize messages**. Texts accept Discord formatting and icons from the bot's emoji pack. Use **Restore default** to go back to the original texts in the city's language.

| Section         | Field                  | What it does                                                                           | Limit | Default (English city)                                                                                                      |
| --------------- | ---------------------- | -------------------------------------------------------------------------------------- | ----- | --------------------------------------------------------------------------------------------------------------------------- |
| **Panel**       | **Title**              | The panel's title. Required.                                                           | 80    | "Verification"                                                                                                              |
| **Panel**       | **Message**            | The panel's text.                                                                      | 1000  | "Confirm you're human by answering a `CAPTCHA` to continue and access our server."                                          |
| **Panel**       | **Button text**        | The button that opens the captcha. Its icon comes from the bot's emoji pack. Required. | 40    | "Verify"                                                                                                                    |
| **Explanation** | **Explanation button** | Turns on a second panel button that explains why the server asks for verification.     | —     | On                                                                                                                          |
| **Explanation** | **Button text**        | The explanation button's text. Required while the button is on.                        | 40    | "Why verify my account"                                                                                                     |
| **Explanation** | **Title**              | The explanation's title.                                                               | 80    | "Why we verify accounts"                                                                                                    |
| **Explanation** | **Explanation**        | The text the member sees on click. Required while the button is on.                    | 1000  | "Verification keeps fake accounts and bots out of the server, making the community safer and keeping spam out of your DMs." |
| **Success**     | **Success message**    | Only shown to whoever solved the captcha, right after they get the role.               | 300   | "All set! You're verified and can now access the server."                                                                   |

## Embed

Click **Embed** to open **Customize embed**.

| Field             | What it does                                                                                                                                        | Default   |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------- |
| **Color**         | The side bar of every verification message and the captcha's background.                                                                            | Bot color |
| **Server header** | The Discord server's name and icon at the top of the panel.                                                                                         | Off       |
| **Thumbnail**     | Square image, on the right of the panel.                                                                                                            | None      |
| **Image**         | Wide image, at the bottom of the panel.                                                                                                             | None      |
| **Footer**        | Short text under the panel (up to 100 characters), with an optional icon from the bot's pack on the left. The icon only shows up next to some text. | Empty     |

**Server header**, **Thumbnail**, **Image** and **Footer** only show on the panel, the public message with the button. Images: PNG, JPG, WebP or GIF up to 1 MB.

## Overview and activity

In the right column, **Overview** shows the **Last 7 days**:

| Number             | What it shows                                                  |
| ------------------ | -------------------------------------------------------------- |
| **Verified**       | Verifications in the last 7 days, against the previous 7 days. |
| **Verified today** | Today's verifications, hour by hour, against yesterday.        |
| **Errors**         | Wrong answers in the last 7 days.                              |
| **Lockouts**       | People who ran out of attempts in the last 7 days.             |

Below, the **Activity** table lists every attempt with **Member**, **Account created**, **Result** and **When**. You can:

* search by name or ID (**Search by name or ID**);
* filter by result: **Verified**, **Failed**, **Locked**, **New account**;
* pick the **Period**: **Last 24 hours**, **Last 7 days** (default), **Last 30 days** or **All time**;
* change rows per page: 10, 25 or 50.

## FAQ

**The member got it right but didn't get the role. Why?**
The bot's role is probably below the verified role. Move the bot's role up in Server Settings → Roles, on Discord. The member sees "I couldn't give you the role. Let the server's staff know."

**Does clicking the button twice draw two captchas?**
No. While a captcha is still valid, clicking again shows the same code. After an answer (right or wrong), the next click draws a new one.

**Can I combine it with the Welcome join role?**
Yes. Give an "unverified" role in **Welcome → Join role** and pick the same role under **Remove role** here. Don't use the verified role as the join role: everyone would skip verification.

## Next steps

[Welcome](https://fivedash.fivex.gg/docs/en/discord/welcome)

Greet newcomers with a message, an image and a role.

[Protection](https://fivedash.fivex.gg/docs/en/discord/protection)

Anti-link, anti-spam and anti-raid for the server.

[Bot](https://fivedash.fivex.gg/docs/en/discord/bot)

Connect the bot and set its emoji pack and color.

[Team and permissions](https://fivedash.fivex.gg/docs/en/dashboard/team-and-permissions)

Choose who can view and who can configure verification.
