← Back to home

Server Admin Guide

Everything you need to get GateKeeper running on your Discord server. No code. No hosting. Everything happens through slash commands in your server.

Contents
  1. What you'll need
  2. Step 1 — Invite the bot
  3. Step 2 — Prepare your server
  4. Step 3 — Configure the bot
  5. Step 4 — Launch verification
  6. All slash commands
  7. All settings you can change
  8. Testing checklist
  9. Troubleshooting

What You'll Need


Step 1 — Invite the Bot

  1. Click Invite to your server (or use the button on the home page).
  2. Select your server from the dropdown.
  3. Leave all the requested permissions checked and click Authorize.
  4. Complete the CAPTCHA if Discord shows one.

The bot should now appear in your server's member list.


Step 2 — Prepare Your Server

2.1 — Turn on Developer Mode (optional but handy)

User Settings → AdvancedDeveloper Mode: ON. Lets you right-click to copy role/channel IDs if you ever need them.

2.2 — Create the Verified role

Server Settings → RolesCreate Role. Name it whatever you want (Verified and Member are common choices). Don't give it any special permissions yet — you'll configure channel visibility in Step 4.

2.3 — Fix role hierarchy (IMPORTANT)

In Server Settings → Roles, drag the bot's role above the Verified role. If you plan to use Patreon auto-verify, the bot's role must also be above your Patreon tier roles.

Admin
Moderator
GateKeeper       ← bot's role (must be above everything it manages)
Patreon tiers
Verified
@everyone

If the bot's role sits below a role it's trying to assign, Discord blocks it and verification silently fails.

2.4 — Create your channels


Step 3 — Configure the Bot

All configuration happens through slash commands. You need Administrator permission to run any of them.

3.1 — Required settings

Run these three in your server:

/set-verified-role role:@Verified
/set-verify-channel channel:#verify
/set-log-channel channel:#mod-log

The log channel is optional — skip it if you don't want event logging.

3.2 — Patreon auto-verify (optional)

If you have Patreon tier roles and want paying supporters to skip the CAPTCHA entirely:

/patreon-add role:@Patron
/patreon-add role:@VIP

Add as many tier roles as you want. Anyone who already has one of these roles when they join — or who receives one later — gets auto-verified. No button click, no CAPTCHA.

3.3 — Tune difficulty (optional)

Defaults are sensible. Change only if you need to:

/set-captcha-length length:6
/set-cooldown seconds:30
/set-max-attempts attempts:3

3.4 — Check your work

Run /settings anytime to see every setting for your server in one place.


Step 4 — Launch Verification (Order Matters)

Read carefully. Locking channels before grandfathering will boot your existing members out of the server.

4.1 — Post the Verify button

Anywhere in your server, run:

/setup-verify

A green embed with a Verify button appears in your configured verify channel. This is the button new joiners will click.

4.2 — Grandfather your existing members

Anywhere in the server, run:

/grandfather

This bulk-assigns the Verified role to every existing non-bot member. Bots are skipped. Already-verified members are skipped.

On larger servers this takes a while — budget roughly 1 minute per 60 members. You'll see a progress update in the log channel (if set) and a completion summary when done.

4.3 — Lock down channel permissions

Only now should you touch channel permissions. Go to your channels and categories and set:

Leave #verify visible to @everyone so new joiners can find it and click the button.

Done.

New joiners see only #verify, click Verify, solve the CAPTCHA, and get the Verified role. Existing members keep their access. Patrons get in automatically.


All Slash Commands

Every command requires Administrator permission.

CommandWhat it does
/helpShows every command grouped by category.
/setup-verifyPosts the permanent Verify button embed in your configured verify channel.
/grandfatherGrants the Verified role to all existing members. Run once before locking channels.
/settingsShows every current setting for your server.
/reset-settingsResets every setting on your server back to defaults. Does NOT remove the Verified role from anyone.
/set-verified-role <role>Sets the role granted on successful verification.
/set-verify-channel <channel>Sets the channel where the Verify button lives.
/set-log-channel [channel]Sets the mod log channel. Omit the channel argument to disable logging.
/set-captcha-length <5–8>How many characters the CAPTCHA image contains.
/set-cooldown <seconds>Seconds a user must wait between CAPTCHA requests.
/set-max-attempts <0–20>Wrong answers before the bot auto-kicks the user. 0 disables kicking entirely.
/set-modal-timeout <30–1800>Seconds before the Enter Answer button expires and the user has to request a new CAPTCHA.
/patreon-add <role>Adds a role whose holders skip the CAPTCHA.
/patreon-remove <role>Removes a role from the auto-verify list.

All Settings You Can Change

Each server has its own independent settings. Changing a setting on one server never affects another.

SettingDefaultRangeWhat it does
Verified role (unset — required) Any role below the bot Role granted on success.
Verify channel (unset — required) Any text channel Where the Verify button lives.
Log channel (unset — optional) Any text channel Where events are logged. Omit to disable.
CAPTCHA length 6 5–8 characters Longer = harder.
Cooldown 30 seconds 0–600 seconds Anti-spam. Time between a user's CAPTCHA requests.
Max attempts 3 0–20 Wrong answers before auto-kick. 0 disables kicking.
Modal timeout 300 seconds (5 min) 30–1800 seconds How long the Enter Answer button stays clickable.
Patreon roles (empty) List of roles Holders skip the CAPTCHA entirely.

Testing Checklist

Before you tell your members to join, test the flow yourself:


Troubleshooting

"The bot can't assign the Verified role."

Role hierarchy problem. Drag the bot's role above the Verified role in Server Settings → Roles.

Verify button does nothing when clicked.

Either the bot is offline (check the green dot), or @everyone has Use Application Commands: ❌ in that channel. Re-enable it, or just leave the channel at default permissions.

The Verify embed never appeared after /setup-verify.

The bot is missing Embed Links permission in that channel. Check channel permissions or re-invite the bot using the original invite link.

Slash commands don't show up at all.

The first time a bot joins a server, slash commands can take up to an hour to propagate globally. If they're still missing after that, re-invite the bot with the original invite link.

Existing members got locked out.

You locked channel permissions before running /grandfather. Fix: temporarily re-grant @everyone view access, run /grandfather, then re-lock. Or manually assign the Verified role to yourself and a few mods and grandfather from there.

Patreon users have to solve the CAPTCHA anyway.

Either you forgot to /patreon-add their tier role, or the bot's role is below that Patreon role. Fix the hierarchy and re-run the command if needed.

CAPTCHA image doesn't load.

Almost always a user-side issue — Discord's CDN blip or their client blocking the ephemeral attachment. Have them click Verify again.

I changed a setting but nothing seems different.

Most settings apply to the next verification attempt, not ongoing ones. Have the test user click Verify again.

I need to start over.

Run /reset-settings. That wipes every setting for your server. Existing Verified role assignments stay intact — only the bot's configuration is cleared.