How to use Onboarding with Bot Verification

3 ways to use onboarding with bot verification.

Onboarding is great, but it can get annoying if you have a pre existing verification set up that uses a bot to remove / assign roles so that users can access the rest of the server. This article will show you 3 ways you can bypass the “Users must have 7 default channels and must include 5 channels where @everyone can send messages and view channels” rules so that we can use onboarding with bot verification

With all of these setups your pre-join and post-join onboarding questions must not give access to channels. Onboarding and Customise Community must only give access to vanity roles.

Method 1 - Extra Dummy Channels

One of the most common setups is where there is a verification channel and users click a reaction / button which gives them a role (some include users having to solve a captcha / human verification etc.). The issue with having onboarding with this set up is the conditions to enable onboarding. To bypass this we will create extra dummy channels in which users cant send messages

Create Dummy channels and Set Up Permissions

Create 1 verification channel and 6 extra dummy channels, preferably in its own category. In the #verify channel you can have your verification message in which users can get the @member role via a bot. In all of the dummy #go-to-verify channels include a message “Get verified in #✅-verify” to direct users.

Set the category perms as such. Allow @everyone to View Channel & Send Messages ✅. Deny @member from View Channels & Send Messages ❌. Make sure all the channels are synced to the category. As such when users verify, the Verification category will disappear and they’ll unlock the rest of the server. For the rest of the server just ensure @member has View Channels toggled ON in role settings. No extra channel overrides are needed (leave everything as default /)

Remember to toggle off view channels for @everyone, and toggle on view channel for @member in server settings

Add dummy channels as Default channels

With the permissions set up above you can set the dummy channels as you default channels

Blocking messages from @everyone in Dummy channels

Last step is to stop users from sending messages in the Verification category without denying send messages permission. This is done by using Native AutoMod. Create a Custom Automod rule with the regex . 

The period regex captures any and all text. Set it to Block message and include a custom message as well if you wish. Whitelist the @member role so it doesn’t affect them in regular chatting channels post verification.

Use a bot to delete stickers

Lastly you would want to use a bot like Dyno (or any of your choice) to delete stickers sent in those channels. The automod regex does not catch stickers unfortunately. In Dyno’s Dashboard —> Automod Module —> Create rule —> Stickers —> set it to delete —> Under Affected channels add your verification and all your dummy channels. (in the image i only added 2 i forgor the rest)

And you’re done! This system is good since it utilises mainly native features (native automod) to block messages and shouldn’t be too difficult to manage. the only downside is that you have extra dummy channels.

Method 2 - Give @unverified role on join

This method is “easier” to setup. Essentially you have an @unverified role which gets assigned as soon as the user joins (not post onboarding / upon rules screening). Bots like Carl, Dyno, Sapphire can do this, but there’s many others out there. You deny view channel perms for @unverified in ALL categories and channels. All that’s left is to setup your #verification channel with the following permission. Deny @everyone View Channel ❌ and Send messages ❌ . @unverified View Channel ✅ , Send Messages ❌. Your verification can be removing the @unverified role or removing @unverified and adding @member if you have one. The member role would then have View Channel toggled on in server settings. If you don’t have a member role, then make sure the @everyone role has View channel toggled on.

Method 3 - Combination of Method 1 & 2

You could very much do both methods together. Have dummy channels, and the @unverified role. The only reason you’d want to do this is to not have the #dummy-channels show to the user. Copy the permissions setup from method 1 and add overrides for @unverified role and deny View Channel ❌ for the dummy channels. Remember to do the automod rule. This method brings for a better user experience.

Some users that have not updated their clients will bypass pre-join onboarding questions. Keep in mind when setting up.

Closing thoughts

Each server has their own needs. I personally don’t like having this setup (onboarding + bot verification) for larger servers. If you have a bunch of trolls or spam coming in, might want to improve your raid detection and automod setup. Extra bot verification just adds more friction for new users. Pre-join onboarding questions are a great way to ease users into a bigger community.

Speaking of raids above, next week might do the perfect anti-raid set up guide 👀 . Last week’s article 2FA article will be live on the Discord Resources Notion page later on today!

For any feedback feel free to join the Discord, fill in the contact or simply reply back to this email.

Hope you find this helpful!
- Daksh