Skip to content

Verification gate

Hold new members behind a check before they get access, and kick the ones who never complete it.

  1. Turn the gate on

    Open Configuration, Verification and switch on "Require new members to verify". Pick an unverified role, then go into your server role settings and take that role's access away from your normal channels. That role is what actually holds people back; Nighthawk applies it on join and keeps your welcome roles back until the member is through. Without the channel restrictions the gate still tracks and kicks people, it just does not hide anything from them.

    JoinsUnverified role added
    HeldOne-time check by captcha, reaction or codeKick timer: 15 minutes by default, 0 = never
    VerifiedUnverified role removed, on-join roles granted
    KickedThe timer ran out. They can rejoin for a new code.
  2. Use @everyone instead of an unverified role

    If your channels are already hidden from @everyone, you do not need a holding role at all. Pick @everyone as the unverified role (or run n!config set verify_role @everyone) and add at least one on-join role under Welcome. Nighthawk then adds nothing on join, and passing the check grants your on-join roles, so they work as the verified role: open your channels to them. The gate will not run until an on-join role is set, since verifying would otherwise grant nothing. If the anti-raid engine gates someone who already got their on-join roles, those roles are taken back until they verify. For the reaction method, keep the panel channel visible to @everyone.

  3. Pick a method

    There are four. Captcha DMs a one-time link to a captcha check on the Nighthawk site. Reaction panel posts a message in a channel you choose and members click the emoji on it. Text code DMs a short code the member replies with, and Image code sends the same thing as a distorted picture so simple bots cannot read it. Captcha is the recommended one, and it is the only method that stops a bot capable of solving the others.

  4. VPN and proxy connections

    This is the one check the bot cannot do on its own, because Fluxer never tells it a member's IP address. The captcha page can see it, so before the captcha even loads it looks the address up and turns away VPNs, proxies and datacentre connections, which is what someone cycling through throwaway accounts is usually connecting from. The member is told to switch the VPN off and open the same link again; nothing is used up. The lookup depends on an iphub key that is set up on the Nighthawk site itself, not in your server. You can switch the check off, and have each blocked VPN logged to your verification channel, under Configuration, Verification. If the lookup fails for any reason the member is let through to the captcha rather than locked out.

  5. The reaction panel

    Choose a panel channel and Nighthawk posts the panel itself, then keeps it correct: it re-adds its own reaction if that goes missing and posts a new panel if someone deletes the old one. Write your own message and embed under Verification panel, or leave both empty for the default line, and set the panel emoji to whatever members should click. If the channel has drifted, "Repost panel" clears the bot's own messages out of it and posts a fresh one. This is the only method that needs a channel, and the unverified role has to be able to see that channel for it to work.

  6. Codes are answered in DMs

    For text and image codes the member replies to the bot's DM with the code. Nothing is typed in your server, so you do not need a channel for it, wrong guesses never end up in front of anyone, and the code cannot be copied by someone watching the channel. Codes are not case sensitive and the alphabet leaves out characters that look alike, so nobody is locked out by an O that was really a zero.

  7. The kick timer

    Set how many minutes a member has before Nighthawk kicks them for not verifying. The default is 15. Set it to 0 and nobody is ever kicked, which suits a quiet community where the gate is more about slowing bots down than clearing them out. Kicks are written as normal cases, so a member who was kicked by the gate has the same history as anyone else. Kicked members can rejoin and get a fresh code or link.

  8. Watch what the gate is doing

    Bind a channel to the Verification log category under Configuration, Channels & logging. You get a line when someone passes, a line when someone sends the wrong code, and a line when someone is kicked for running out of time. Every third wrong code from the same person, and every third kick, is logged as a repeat instead, which is usually the first sign that something automated is hammering the gate. n!verify status shows the current settings and how many members are waiting, n!verify verify <user> lets a moderator wave someone through by hand, and n!verify reset <user> clears a stuck record.

What Verification gate doesThe overview, with the highlights.