Moderation

Verification & Gateway

Make new members prove themselves before they get access: button, captcha and web checks, Roblox linking, join screening and tiered rules.

Verification puts a door between a new join and your channels: a member only gets the verified role after passing a challenge or linking an account, so raiders and bots never reach your server. Mix and match the four tools below, each off by default.

Gateway (the challenge)

,gateway (needs Manage Server) builds the verify panel that grants a role:

,gateway mode button      pick button, image (captcha) or web
,gateway role @Verified   the role granted on success
,gateway channel #verify  where the verify panel lives
,gateway log #verify-log  where verifications are logged
,gateway setup            post the verify panel
,gateway config           show the current setup

Tiered rules

Tiered rules make the gateway conditional: trusted accounts pass instantly while suspicious ones face a captcha, quarantine or kick. Manage them with ,verifytiers (alias ,verificationtiers):

,verifytiers add account_age captcha 7  captcha accounts under 7 days old
,verifytiers add default allow          let everyone else through
,verifytiers list                       show the ordered rules
,verifytiers disable 2                  turn a rule off
,verifytiers remove 2                   delete a rule

Conditions: account_age, no_avatar, watchlist, default. Actions: verify, captcha, quarantine, kick, allow. Rules run top to bottom and the first match wins, so put a default rule last.

Join Gate (screening)

,joingate (alias ,gate) screens joins by account age and keeps a watchlist:

,joingate minage 7           flag accounts under 7 days old
,joingate action quarantine  alert, kick or quarantine on a match
,joingate role @Unverified   the gate role to apply
,joingate verification on    hold the gate role until they verify
,joingate config             show the current setup
,joingate noavatar on kick   accounts with no profile picture
,joingate advertising on ban accounts with an invite link in their name
,joingate unverifiedbots on  bots without Discord's verified checkmark
,joingate username ^free.* kick  match names against a pattern

Join filters

Beyond account age, the gate runs four independent filters on every join. Each has its own action, so you can alert on some and remove on others:

  • No avatar — accounts that never set a profile picture
  • Advertising accounts — a Discord invite link in the username, display name or nickname
  • Unverified bots — bots added without Discord's verified checkmark, checked before anything else runs
  • Username pattern — a regular expression matched against username, display name and nickname

Actions are alert, kick, ban or quarantine. Quarantine applies the gate role from ,joingate role. All four are off by default and configurable from the Join Gate page on the dashboard.

Roblox verification

,verification (needs Manage Server) links Discord members to their Roblox account:

,verification role @Verified          role granted once linked
,verification nicksync on             sync nickname to Roblox username
,verification force @user RobloxName  manually link a member
,verification config                  show the current setup

Example

Captcha brand-new accounts but wave everyone else through:

,gateway mode image
,gateway role @Verified
,gateway setup
,verifytiers add account_age captcha 7
,verifytiers add default allow
  • Pair tiered rules with Anti-Raid so the gateway tightens during a raid.
  • During an active attack, escalate with Raid Panic Mode, which can raise the verification level instantly.