4 ways to verify your Discord community's members
Tags: devrel, community, discord
Published: 2023-08-09 17:29:08

As companies grow their community on Discord, they often run into some growth-related challenges. One of these challenges is [moderating a community at scale](https://dev.to/autocode/how-we-moderate-a-30000-member-discord-server-at-autocode-2l26), and often, a way to make this easier to deal with is to add verification steps that new members must complete before they can interact with the community. However, despite often seeming like a quick win, sometimes these systems can do more harm than good.

Here at [Autocode](https://autocode.com), we’ve built a community of over 30,000 people looking to build bots, APIs, and automations. In this article, I’m going to talk about some of the ways we verify our users to cut down on spam, and share the best practices that you should follow when adding a verification system to your Discord server.

{% embed https://youtu.be/Iv6461JR92k %}


## Using Discord’s Verification Level Feature
One quick win that I recommend enabling on your server is Discord’s *Verification Level* feature. You can find it by opening your server’s settings, clicking *Safety Setup*, and choosing *DM and Spam Protection*.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jdc5hrz3umh6umakam9w.png)

The Verification Level system won’t cut down on determined bad actors. However, it *can* block unsophisticated attackers, such as newly created bot accounts, and prevent people from immediately being able to make a new account and rejoin your server if you just banned them.

I recommend setting this to *medium* at a minimum. I’ve found it’s a good balance between allowing new Discord users to engage with our community while throttling a new account’s ability to cause issues. The *highest* setting can be useful to temporarily enable if you’re actively being [raided](https://support.discord.com/hc/en-us/articles/10989121220631-How-to-Protect-Your-Server-from-Raids-101#:~:text=On%20Discord%2C%20a%20raid%20is,our%20Terms%20of%20Service%20guidelines.), but I’d recommend not leaving it enabled for long periods of time, as some users aren’t comfortable with connecting their phone number to their Discord account. 



## Requiring new members to accept your rules
Another basic type of verification I recommend adding to your Discord server is verifying that your members have read your rules before allowing them to chat. Conveniently, Discord offers this feature out of the box - it can be enabled using the toggle under *Verification Level* toggle in Discord’s safety setup.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/orr0hgbo7ql53lma9nzp.png)

While this step is unlikely to stop someone acting maliciously, it *can* cut down on people doing things that they didn’t realize was against the rules. For example, we saw a slight decrease in the number of people trying to share server invite links and self-promoting their own content in our server after enabling this feature.

For **many** servers, enabling these two settings (plus cultivating a healthy community) can be enough to deter bad behavior. You should only add further required verification steps if moderation remains a challenge, as new members are less likely to activate if you require them to complete a ton of steps before they’ve had the chance to get familiar with your community.


## Adding email verification to your Discord server
Requiring users to verify their email address to access certain features on your Discord server can help you tie a Discord account to a user’s identity. While it is possible for bad actors to spin up multiple email addresses, by simply being a less easy server to target than alternatives, you can cut down on malicious actions against your community.

Email verification can also help you offer experiences beyond just Discord, such as providing the option for your members to sign up for your email newsletter when they verify their email address. Additionally, if you’re creating a semi-public server (such as one for a ticketed event), email verification can be a great way to check whether a user should actually have access to your server at all!

We’ve built a [email verification system that you can add to your Discord server in minutes](https://omg.ac/email-verification). The code for this system is fully customizable, so you modify it to fit your community’s needs.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y7nl5aqnzk4rhbqpw02d.png)

However, if you’re building a public community on Discord, I recommend *not* requiring all your members to verify their email address, as adding this level of friction can inhibit your ability to grow your community. Rather, I recommend adding email verification as an optional step that members can complete to unlock features that need higher trust, such as the ability to use external emojis or send links. Additionally, you can recognise members who have verified their email address with a special name color or icon next to their name, helping them build social proof within your community. 


## Allowing members to link external accounts your Discord server
The final (and most involved) method of user verification that I want to talk about is allowing members to link their Discord account to their account on your service. For example, here at Autocode, we require users to link their Discord account to their Autocode account and verify that they’ve read our [*How to build a Discord bot* guide](https://autocode.com/guides/how-to-build-a-discord-bot/) in order to send messages in our support channel. We added this feature as we were being flooded with basic questions that the guide answered, and adding friction to sending messages in this channel helped create a better experience for our community in the support channel.

When building this system, we wanted to make sure that we weren’t adding too many barriers between new members and our support channel. One issue that we ran into was that if unverified members didn’t have permission to talk in the support channel, they’d not have any context about *why* that is the case. So, rather than using Discord’s built-in permissions system, we allow anyone to send messages to the channel, but automatically delete messages from unverified users and provide them with information about how they can get verified. 



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ljtruozsd85akvlvds7.png)

To do this, we leverage a **Verified Role** and some custom logic to listen for message events in our Support channel, so that only messages by users without that role would be filtered out. In order to get the role, we built a Discord OAuth linking flow that appears at the end of our guide for them to click and receive the appropriate role in Discord.

Some larger companies require community members to link an account to access any features on their Discord server. For example, [OpenAI’s Discord server](https://discord.gg/OpenAI) recently started requiring all members to link their OpenAI accounts to their Discord accounts to even be able to *see* any of their server’s channels. This is unlikely to be a good fit for most communities, especially ones that are focused on growth, as this level of friction is likely to cause a large amount of onboarding attrition. However, if you are seeing explosive growth and moderating your server is becoming unmanageable, it is a step you may wish to consider.  


## Conclusion
In terms of member verification, what works for one community won’t necessarily work well for another. Before adding barriers to participate in your community, we recommend considering what is truly necessary.

Allowing server members to verify their email or link an external account in order to access additional features on your server can help create an engaged and safe community. However, I’d recommend not gating too much of your server behind a verification step that requires someone to complete an action outside of Discord, especially if you’re focused on growing and engaging your community.

If you found this article useful, why not [learn more about how we moderate our Discord server](https://dev.to/autocode/how-we-moderate-a-30000-member-discord-server-at-autocode-2l26)?