Guides

Set up a verification gate

Hide your server until new members read the rules and click a Verify button. Combines Discord channel permissions, button roles and a welcome message.

Updated Oct 21, 2026
On this page

A verification gate keeps new members in a small "lobby" until they've read your rules. Everything else stays hidden until they click a Verify button, which gives them your Member role. It slows down raiders and drive-by spammers, and makes sure everyone has at least seen the rules.

This recipe uses Discord's channel permissions, button roles and a welcome message. It takes about 15 minutes.

What you'll build#

  • New members can only see #welcome and #rules.
  • #rules has a Verify button under your rules.
  • Clicking it gives the Member role, which unlocks the rest of the server.
  • A welcome message greets each new member and points them to #rules.
Permissions needed

Buddy needs Manage Roles, and its own role must be above Member in Server Settings → Roles. Buddy also needs View Channel and Send Messages in #welcome and #rules. You need Administrator to use the dashboard.

1. Create the Member role#

Open your role settings

In Discord, go to Server Settings → Roles and click Create Role.

Name it

Call it Member (or whatever you like). Leave its permissions as they are. It only needs to unlock channels.

Check the order

Drag Buddy's role above Member. Buddy can only give roles that sit below its own.

Heads up

Don't give Member Administrator, Manage Server or Manage Roles. Buddy won't let a button hand out roles with those permissions, and you wouldn't want it to.

2. Lock the server for new members#

The trick is that new members have no roles at all, so they only get what @everyone can see. Hide everything from @everyone except the lobby, and open it back up for Member.

Lock each category

For every category except your lobby, open Edit Category → Permissions. Set @everyone to deny View Channel, then add Member and allow View Channel. Click Sync Now if Discord asks, so the channels inside follow the category.

Set up the lobby

Make a category (e.g. START HERE) with #welcome and #rules. Let @everyone View Channel and Read Message History there, but deny Send Messages so the lobby stays tidy.

Let Buddy in

Make sure Buddy's role can View Channel and Send Messages in #welcome and #rules.

Check it

Use Server Settings → Roles → @everyone → View Server As Role to see exactly what a brand new member sees.

Skip the "Unverified" role

You might be tempted to give everyone an Unverified role when they join. You don't need one: having no role already means "unverified". Button roles add or remove a single role, so Buddy can't swap Unverified for Member in one click. An Unverified role would just stay on everyone.

3. Post the Verify button#

Open Button roles in your dashboard

It's under Roles in the sidebar.

Choose where it goes

In Create button roles, under 1. Message, pick Create a new message (Discord Buddy will post it) and choose #rules as the Channel.

Add the button

Under 2. Buttons, set Label to ✅ Verify, Style to Success (green) and Role to Member.

Add your rules (optional)

Under 3. Message text (optional), switch on Add a custom message with the buttons and write a short line like "Read the rules above, then click Verify to unlock the server." Pick Embed or Regular message.

Post it

Click Add button roles. Within a few seconds Buddy posts the message with the button in #rules.

Open button roles

What members see in #rules:

Discord Buddy APP Today at 4:20 PM

Read the rules above, then click Verify to unlock the server.

✅ Verify

When a member clicks ✅ Verify, Buddy replies privately "You have been given the Member role!" and the hidden channels appear.

Note

Button roles toggle. Clicking Verify again removes Member, and the server disappears again. That's usually fine, and it's easy to undo by clicking again. Mention it in your message so nobody panics.

4. Welcome people into the lobby#

Open Welcome messages in your dashboard

It's under Welcome & onboarding.

Pick the channels

In Where to welcome members, set Welcome channel to #welcome and Rules channel to #rules. Click Save welcome settings.

Write the message

In Welcome message, choose a style and write something that sends people to the rules. The {rules} placeholder links your rules channel.

Save

Click Save message template.

A simple Regular message:

Hey {user}, welcome to {server}! 👋
Head over to {rules}, read the rules and click ✅ Verify to unlock the rest of the server.

What a new member sees:

Discord Buddy APP Today at 4:20 PM

Hey @Sam, welcome to Pinecrest! 👋
Head over to #rules, read the rules and click ✅ Verify to unlock the rest of the server.

Put the button right in the welcome message

With the Components style you can add a Button Row to the welcome message itself. Set a button's When clicked to Give / remove a role and pick Member, and add a second one set to Jump to a channel for #rules. See Welcome messages.

Don't add Member as a join role. Join roles are given the moment someone joins, which would skip the gate.

Test it#

Use an alt account or a friend

Join the server and check you only see #welcome and #rules.

Click Verify

You should get the private "You have been given the Member role!" reply and see the rest of the server.

Click it again

The role is removed ("Removed Member role."). Click once more to get it back.

Troubleshooting#

"I cannot assign that role because it is higher than my highest role."#

Move Buddy's role above Member in Server Settings → Roles.

"I do not have permission to manage roles."#

Give Buddy's role the Manage Roles permission.

Members can still see everything before verifying#

@everyone can still view that channel or category. Check each category's permissions, and look for channels that aren't synced with their category. View Server As Role shows exactly what's visible.

Verified members still can't see a channel#

That channel has its own override that doesn't allow Member. Sync it with its category, or allow View Channel for Member on the channel.

The role I want isn't in the list#

Run /setup in Discord and pick Update Channels and Roles for Website, then reload the dashboard.

Loading…