To set up Discord verification, hide your channels from @everyone, create a Verified role that can see them, then post a verify button that grants the role when a new member clicks it. The whole thing takes about five minutes with a bot like Noxyr, and it stops the most common raid pattern: accounts that join in bulk and post in every channel they can see. This guide covers the setup, the mistakes that make it useless, and what button verification does and does not protect against.

A new member presses Verify, the gate opens, and they pass through with a Member role. Verify Member

How button verification works

A verification gate has three parts, and all three have to be in place:

  • A role (usually called Verified or Member) that unlocks the real channels.
  • Channel permissions that deny @everyone the View Channel permission and allow it for the Verified role. Without this step the role grants nothing.
  • A panel in a channel that @everyone can see, with a button that hands out the role on click.

New members land in the verification channel, see a short message, press the button, and the rest of the server appears. Bots that join and immediately spam never press the button, so they never reach a channel where anyone would see them.

Step 1: create the role and lock the channels

In Server Settings, create a role called Verified. It needs no special permissions of its own. Then, for each category (or channel) that should be members-only, open its permissions, set @everyone to deny View Channel, and add the Verified role with View Channel allowed. Doing this at the category level and letting channels sync saves a lot of clicking.

Leave one channel visible to @everyone: the one where the verification panel will be posted. A rules channel works well for this because the button sits directly under the rules people are agreeing to.

Step 2: post the verify button

With Noxyr the command is /verify setup. It takes the role to grant plus optional styling: the channel, an embed title, the message text, the button label, an embed colour and an image. Then /verify post publishes the panel. If you would rather click than type, the same settings live on the Verify page of the dashboard.

Two things people miss:

  • Role order. The bot's own role must sit above the role it grants in the role list, or Discord refuses the assignment and the button silently fails. Drag the bot's role up in Server Settings, then try again.
  • Test with a non-admin account. Administrators see every channel regardless of permissions, so your own account will never show you whether the gate works.

/verify status shows the current configuration, and /verify off disables the gate without losing the wording.

Step 3: welcome the people who get through

A gate is a cold first impression. Pair it with a welcome message so that the moment someone verifies, they see a greeting in a channel that is now visible to them. Noxyr's /welcome setup takes a channel and a message with {user}, {server} and {memberCount} placeholders, plus an optional button linking to your rules, store or website. Details are in the verification and welcome docs.

What a verify button does and does not stop

It is worth being precise here, because "verification" gets sold as more than it is.

What it stops

  • Mass-join raid accounts that spam on arrival. They do not click buttons.
  • Selfbots and scripted joins that never interact with the UI.
  • Accidental exposure: a member who joins through a public invite cannot see your staff or customer channels until they act.

What it does not stop

  • A determined human. Anyone can press a button. Button verification is a filter, not an identity check.
  • Alt accounts. If you need to keep out specific people, you need account-age rules or manual approval, not a button.
  • A compromised admin account. That is a job for anti-nuke, not verification.

Captcha bots exist and do add friction for scripted joins, but they also lose you real members. For most communities a button plus Discord's own account-level checks is the right balance.

Layer it with Discord's built-in protections

Before adding any bot, turn on the things Discord gives you for free:

  • Verification level (Server Settings, Safety Setup). "Medium" requires accounts to be at least five minutes old; "High" adds ten minutes in the server before messaging. This is the cheapest anti-raid setting there is.
  • Membership screening makes new members accept your rules before they can talk. It is a form, not a role, so it complements rather than replaces a role gate.
  • AutoMod keyword and mention-spam rules catch what slips through.

Then add the bot layer: a verify button for channel access, anti-spam for members who are already inside, and anti-nuke for the admin side. Noxyr covers all three from one security module, and if you are comparing dedicated verification bots our verification bot roundup lists the alternatives.

Troubleshooting

  • Button does nothing. Almost always role order: move the bot's role above Verified.
  • Verified members still cannot see channels. Check for a channel-level override that denies the Verified role, or a category that is not synced.
  • Everyone can already see everything. @everyone still has View Channel somewhere, often on a newly created channel that inherited default permissions.
  • Panel disappeared. Run /verify post again; it refreshes the panel in place.

Common questions

Do I need a bot to add a verify button in Discord? Yes. Discord's own tools give you verification levels and membership screening, but not a role-granting button; that needs a bot.

Can I customise the verification message? With Noxyr, yes: title, text, button label, colour and image are all options on /verify setup or the dashboard.

Does verification work with welcome messages? Yes. Set the welcome channel to one that only Verified members can see, and the greeting appears right after they click.

Is button verification free? In Noxyr it is, along with welcome messages, anti-spam and anti-nuke.

What if a raid gets past the button? Anti-spam handles members who are already inside, and anti-nuke handles anyone with elevated permissions. See the raid protection playbook.