Biscuit has an optional Captcha system that you can use to block selfbots from your Discord server!
In order to enable Captcha, you will need to create two roles on the server: a temporary one you give to new users, and a permanent one you give them after they complete the captcha. In the config, set UseCustomDefaultRole
to true. Then, set DefaultRoleName
to the name of the temporary role you want to give users when they join. If you are using the auto-kick feature, make sure no other bot is granting users roles when they join the server, otherwise they will not get kicked. This was implemented to prevent people from accidentally getting kicked by assigning the temporary role to someone (accidents happen).
Next, set Captcha-Reward-Role
to the name of the role you want to grant users after they complete the captcha. If you want to enforce a time limit to complete the captcha and have the bot kick users who do not complete it within the time limit (this is recommended), set No-Captcha-Kick
to true. You can adjust the time limit in the No-Captcha-Kick-Time
option.
Then, set up a welcome channel for users to join. This channel should only be viewable by the temp role. Then, hide all the other channels on your discord from everyone and make the captcha reward role required to view them. This should prevent the DM bots from messaging your players.
If you would like to log Captcha events to a text channel, set LogCaptcha
to true and specify the name of the channel you want to log to in Captcha-Log-Channel
(without #). If you want the bot to log which invite users join the server with, make sure it has the permission Manage Server, then set Check-Join-Invite
to true. Then, restart the bot if it is currently running.
Finally, start up your bot, and the Captcha system should be good to go. Make sure you give join instructions in your welcome channel. To do the captcha, users just have to DM the bot (any message will do). The bot will reply with an image, and users must reply with the text in the image. If done correctly, they will be given the reward role and access to the other channels. The temp role will also be removed.