Every
joingate command needs Administrator, and Bloom needs Kick Members, Ban Members, and Moderate Members.How a join is checked
1
Bloom runs your checks
Account age, missing avatar, default avatar, and username, in that order. Bots skip the gate entirely, and so does anyone on the whitelist.
2
Passing members are let in
If nothing fails, the member joins normally with no captcha and no message.
3
Failing members are stopped
With captcha off, the member is kicked or banned and told why. With captcha on, they are timed out and sent a code in a direct message instead, so a real person can still get in.
4
The clock runs out
A member who never solves the captcha is kicked or banned when their time expires.
Defaults
Quick start
1
Pick your checks
!joingate newaccount 7d turns away accounts made in the last week. It is the single most effective check against throwaway accounts.2
Add the captcha
!joingate captcha on gives anyone who trips a check the chance to prove they are human instead of being removed outright.3
Turn the gate on
!joingate enable. Bloom replies Joingate has been enabled. Nothing is checked until you do this.4
Review it
!joingate shows every setting and how many members are whitelisted.The checks
Administrator
Rejects accounts younger than the age you set. Also
accountage, age.- Takes a duration such as
7d,24h, or1w. !joingate newaccount 7drepliesMinimum account age set to 7 days.offremoves the requirement.
Administrator
Rejects accounts with no profile picture at all.
Administrator
Rejects accounts still using one of Discord’s default avatars. Also
default. This covers everything noavatar does.Administrator
Rejects accounts whose username or display name looks like advertising, such as an invite link, a web address, a free-Nitro pitch, or heavy character stacking. Also
name.Settings
Administrator
What happens to a member who fails, or who never solves the captcha. Also
punish, action. The default is kick, which lets someone return once they fix the problem.Administrator
How long a member has to solve the captcha. They are timed out for this whole period, so they cannot talk until they verify. Also
time, wait.- Minimum 5 minutes, maximum 7 days. The default is 1 hour.
Administrator
What to do when Bloom cannot send the captcha because the member has direct messages closed.
punishremoves them, the default.skiplets them in without verifying.
Letting people through
Administrator
Members on the whitelist skip every check. Also
wl. Takes a mention or a user ID.!joingate whitelist add @Someonereplies that they were added.!joingate whitelist listshows everyone exempt.
Administrator
Verifies a member yourself. Bloom clears their pending captcha and lifts the timeout, so they can chat right away. Use it when someone cannot receive the code.
Administrator
Run
!joingate on its own, or !joingate settings, to see the gate’s status, each check, the punishment, the captcha time, and the whitelist count. Also config, status.Administrator
Puts every join gate setting back to its default, which also turns the gate off.
What the member sees
A member who fails a check with the captcha enabled gets a direct message naming the reason, an image with a code, and how long they have. They reply with the code to be let in, and Bloom answersVerified! Welcome to <server>. and lifts their timeout.
- The code ignores capitals.
- A wrong answer can be tried again as often as they like within the time limit.
- Replying
neworrefreshsends a fresh code.
Troubleshooting
Nobody is being checked
Nobody is being checked
Run
!joingate. The status must be Enabled and at least one check must be On. A gate that is enabled with every check off lets everyone through.Real members are being kicked
Real members are being kicked
The usual cause is
dmfail punish combined with the captcha, which removes anyone who cannot receive a direct message. Switch to !joingate dmfail skip, or lower your account age requirement.A member says they never got the code
A member says they never got the code
They have direct messages from server members turned off. Have them enable it in Privacy Settings for your server and rejoin, or run
!joingate verify @them to let them in by hand.Members stay timed out after verifying
Members stay timed out after verifying
Bloom lifts the timeout itself when the code is accepted. If it could not, it tells the member to contact a moderator, which normally means Bloom’s role is below theirs. Move Bloom’s role up and clear the timeout with
!untimeout.A bot got through the gate
A bot got through the gate
Bots are not checked by the join gate. Bot additions are handled by anti-nuke instead.
Related pages
Welcome messages
The public greeting, which only fires once a member is past the gate.
Bans, kicks, and timeouts
The actions the gate applies, and how to reverse one.
Durations and time zones
The format for the account age and captcha time.
Event logging
Record joins and leaves in a staff channel.