301: Implementing Verification Gates

Whether your server is brand new and waiting for new members, or an existing community growing its user base, it’s important to consider creating a member verification gate. Member verification gates allow you to verify that the users joining your server are genuine users, and not spam bots looking to advertise, or trolls looking to harass your members. This article will discuss how to decide whether or not you need a verification gate, and the pros and cons of various forms of verification gates. In the end, you should choose the one that best fits your community needs.

Determining If You Need a Verification Gate

If you are creating an official Discord for a community or game, you will almost certainly want to implement a verification gate. Public Discords will have a large number of unknown users joining the server from potentially anywhere depending on how the invite link is distributed, especially if you have a vanity URL, and so implementing verification is important. While it is possible that a verification gate will not be necessary if the topic of the server is relatively unknown, for the sake of future-proofing your server it is still highly recommended.

Otherwise, you can also consider the following criteria to determine if you want to implement a verification gate or not.

  • Have you received reports from members of receiving spam or scam direct messages from users in your server? Do you anticipate this may be an issue after your server is opened?
  • Have you had difficulty dealing with server raids, such as groups of new users spamming inappropriate images or words in your general chat channels, or do you anticipate this might be an issue based on the way you are advertising your server?

If the answer to those questions is yes, you may want to consider implementing a verification gate. However, even if the answer to these questions is no, you should still consider at least setting your server verification level to Medium, as this will help deter raiders using brand new accounts to spam your server or its members DMs. If you do not need a verification gate, this choice is ultimately up to you. If you do want a verification gate, the choice of server verification level will be explained in the recommendation section.

Special Verification: Member Interview

This article generally focuses on automated methods of verification such as those that can be accomplished with a Discord bot, due to the reduction in human overhead and the increase in verification speed that comes from using a bot. However, if your server is about a sensitive topic or involves users sharing personal information, you may want to consider having moderators personally interview new members or ask them to write an introduction and then reviewing their answers before granting them access to the server. Because this process is very labor-intensive, the writing of the interview questions, the evaluation of the responses, and the implementation of the interview process may vary widely from server to server. You should carefully consider your server needs and resources before choosing this method of verification.

Some things to consider include:

  • How can I assess the personality of new users?
  • How can I learn about their history of conduct?
  • Why does this user want to join the server?
  • How can I have a user prove their good intentions in joining?
  • Are there any tools I can use to make the approval process easier?

If a user passes their interview, you can either assign them a “verified” role or remove the “unverified” role. The differences between implementing these roles is discussed later.

Other types of verification gates

Roughly speaking, verification gates require users joining your server to take a specific action (either in a direct message, or in a specific channel in the server) before they are granted access to the rest of the server.

Channel-Based Verification

This form of verification involves sending the verification instructions and receiving the user response on the server itself. These gates can use one channel for both the verification instructions and user response, or they can require two channels.

In the two-channel system, one channel is used to perform the verification action (in which read message history is off), while the other simply contains instructions on the verification process (where read message history is enabled). In either case, a bot is generally used to process the user’s message and verify them (for example, a user could type !verify to verify themselves).

When using only a single channel, the channel description may contain the instructions, or a bot message is sent when a user joins the server that has the instructions. If using the channel description for instructions, you can avoid needing to keep read message history on. However, people may not be aware that they need to read the channel description for instructions.

Reaction-Based Verification

For reaction-based verification, the user reading the contents of a channel and clicks on a reaction in order to complete the verification process. This is usually implemented as an extra set of instructions at the bottom of a server rules channel with a single reaction on the message for users to click.

DM-Based Verification

Users may also receive a DM as soon as they join the server, almost always sent by a bot. The verification process is then completed in the direct messages with that bot. If using DM based verification, it is also useful to have a backup channel for people to manually initiate the DM verification if they weren’t able to receive direct messages when joining the server due to their privacy settings or Discord issues.

In any case, after unverified members perform the required action, a Discord bot can grant them access to the rest of the server, either by removing a role that is hiding the rest of the channels, or granting a role that provides access to the rest of the channels.

Add Role vs. Remove Role Verification Gates

The first thing you need to figure out is whether you want to verify users by giving them an “Unverified” role upon joining the server and removing it after they verify, or to give them no roles upon joining the server and give them a “Verified” role after completing verification. A comparison of the differences between the two methods as applied to the verification methods above is shown below. Please note that this comparison does not account for verification methods not discussed in this article.

Characteristic

Add Verified Role

Remove Unverified Role

Bypassing the server verification level

Users will be subject to the server verification level until they verify.

Users will not be subject to the server verification level on joining, but will be after they verify.

Role Permissions

The @everyone role should have no permissions, the Verified role should have the permissions you would normally give to @everyone.

The @everyone role should have normal permissions. The Unverified role should have no permissions.

Channel Permissions

Separate instructional & verification channels 

@everyone role

✔ Read Messages in both channels

Add Reactions in both channels
✔ Read Message History in instructional

Send Messages in instructional

✔ Send Messages in verification
Read Message History in verification 

Verified role

Read Messages in both channels

Add Reactions in both channels


Combined channel

@everyone role

✔ Read Messages
✔ Read Message History

✔ Send Messages

Add Reactions

Verified role

Read Messages

Add Reactions

Separate instructional & verification channels 

@everyone role

✔ Read Messages in both channels

Add Reactions in both channels
✔ Read Message History in instructional

Send Messages in instructional

✔ Send Messages in verification
Read Message History in verification 

Verified role

Read Messages in both channels

Add Reactions in both channels


Combined channel

@everyone role

✔ Read Messages
✔ Read Message History*

✔ Send Messages

Add Reactions

Verified role

Read Messages

Add Reactions

*Unless you are using the channel description for verification instructions rather than an automatic greeter message.

If you want to use the remove unverified role method, you will need a bot that can automatically assign a role to a user when they join. 

Verification Actions

Once you decide whether you want to add or remove a role, you need to decide how you want that action to take place. Generally, this is done by typing a bot command in a channel, typing a bot command in a DM, or clicking on a reaction. The differences between these methods are shown below.

Characteristic

Interview

Click Reaction

Command in Channel

Command in DM

Ease of use

Requires the most effort from both moderators and users

Simple to perform, cannot mistype anything

More complex, users must read and type more carefully

Interaction with Server Verification Level


Users subject to server verification level (if using the Verified role method)

Users not subject to server verification level

Effectiveness

Extremely effective at deterring trolls from reaching the rest of the server 

Users do not need to read instructions/rules as closely to understand what to do

Encourages users to read the verification message carefully

Encourages users to read the verification message carefully, but DM may not go through

Visibility

Moderators are directly involved

Moderators are unlikely to notice user action.

User action is visible to moderators

User action is not visible to moderators

Simplicity of setup

While the involvement of bots may be minimal, writing interview questions and determining evaluation criteria could be complex

Requires only a single #welcome type channel with instructions to click the reaction

Can require either only a single channel or two channels depending on preference

Does not require any channels, unless you want a backup verification method for users that have DMs disabled

In order to use the command in channel method, you will need to instruct your users to remove the Unverified role or to add the Verified role to themselves. 

Summary

Once you determine if you need a verification gate at all, there are a variety of options currently available to you (and Discord may even add native verification methods as well in the near future). From DMs to channel commands and removing roles to assigning roles, the way that you implement your verification gate is up to you. You may even discover or invent a verification method not listed in this article! There is no one right way to set up a verification gate. Ultimately, you will need to use your judgment as a community manager to make a determination on what verification gate to use and continuously evaluate its performance for weaknesses as well as assess opportunities for improvement.

 

Ready to test your moderator skills? Take the Discord Moderator Exam!