Verification Bot
Verification
Verification Bot is a moderation helper for Discord servers that want a simple, automatic way to deal with spam.
A verification bot keeps new joins in a single channel until they show they are a person, which shuts out most raid and spam accounts before they can post.

The setup is mostly permissions, not code. You take View Channels away from @everyone on every channel except #verify, then create a Verified role that can see the rest of the server. The bot posts a message in #verify, and when a member passes the check it gives them the Verified role. Until then the server looks like a single channel to them.
The check can be one button, which stops simple spam accounts and join floods, or a captcha: a short code shown in a reply only the member can see, which they type into a pop-up form. A captcha slows down scripted raids that are able to click buttons. Many bots also look at account age and send accounts created in the last few days to a stricter check or flag them for staff.
The bot needs the Server Members intent to see joins, check account age the moment someone arrives and kick members who never verify. Its role must sit above the Verified role in Server Settings → Roles. Raise Discord's own verification level too; requiring a verified email costs nothing and works alongside the bot. You describe the check, and Discord Bot Creator builds and hosts the bot.
Give a bot only what it uses. These are the permissions a typical verification bot asks for in its invite link, and why.
| Permission | Why |
|---|---|
| Manage Roles | Gives the Verified role. The bot's role must sit above it. |
| Kick Members | Removes members who never finish verifying, if you want that. |
| View Channels | Sees #verify and the staff log channel. |
| Send Messages | Posts the verification message and the staff log entries. |
| Embed Links | Shows the verification instructions as an embed. |
Server Members Intent
Lets the bot see each join, read account age when the member arrives and find members who never verified.
Enable Server Members Intent in Developer Portal → your app → Bot → Privileged Gateway Intents. Message Content is not needed because the check runs on buttons and forms. A bot in 100 or more servers needs Discord's approval for the intent.
Real bots made by describing them, running in Discord servers now.
Verification
Verification Bot is a moderation helper for Discord servers that want a simple, automatic way to deal with spam.
Verification
GuardianGate is a verification bot for servers that want to control who gets in.
Verification
MILANO VERIFY is a verification bot built for a roleplay server.
Verification
This bot handles member verification for a Discord server.
Name the channels, roles and commands you want. The more specific the description, the less you need to change afterwards.
Add verification to my server. New members only see #verify, where a button shows a 5-character code they type into a form; if it's right, give them @Member. Flag accounts younger than 7 days in #staff-alerts, and kick anyone who hasn't verified within 24 hours.
Create a Verified role. Remove View Channels from @everyone on every category except the one holding #verify, and allow it for Verified. Invite the bot, drag its role above Verified, and let it post the check in #verify. Test it with a second account, or use View Server As Role in Server Settings → Roles to see what a new member sees.
It stops raid accounts from posting, which is most of the damage. Scripted joins land in #verify and cannot reach the rest of the server. A determined raider can still pass a button check, so captchas and account-age rules help, and a command to pause verification gives staff time to clean up. Pair it with Discord's own verification level.
A button has the least friction and stops lazy spam accounts and accidental joins. A captcha asks for a typed answer, which takes a real person a few seconds and blocks many scripts that only click. Start with a button, and switch to a captcha, or use it only for new accounts, if spam accounts keep getting through.
Discord does not let a bot assign a role that sits at or above its own highest role. Open Server Settings → Roles and drag the bot's role above the Verified role, then confirm the bot's role has Manage Roles. If the role is given but members still see nothing, check the channel overwrites for the Verified role.

Write it in a sentence or two. You see the plan before anything is built, and your first bot runs free for 7 days.