Discord bot for automatically adding roles after a completed membership screening (community feature).
All the widely used discord bots like Dyno or Carl only support auto-roles which will be added on join. Adding a role to the user will automatically verify the user and skip the user's membership screening (rule acceptance and or phone number verification). This bot tries to fill this gap.
This Bot can be deployed on Heroku for free (you may run into
the free account limitations if you have
multiple applications deployed Heroku or don't have your credit card details verified):
The bot uses slash commands for
configuration. These commands can only be used by users with a role which has the MANAGE_GUILD (Manage Server)
permission.
/welcome-screen-roles add <role>
Adds a role to be automatically added to users on membership screening completion.
As this bot works with the lowest permission level possible (Manage Roles only), you need to make sure that the bot's
role (automatically created on join, same as application name by default) is placed above any role the bot should add to
a user.
/welcome-screen-roles remove <role>
Removes a role from being automatically added to users on membership screening completion.
/welcome-screen-roles list
Displays all roles that are automatically added to users after membership screening is complete.
/welcome-screen-roles log-channel <channel>
Sets the log channel where all errors that occur when adding roles are published.
As this bot works with the lowest permission level possible (Manage Roles only), you have to make sure yourself that
the bot has permission to send messages to the configured channel.
In order to deploy the bot you need to create a new application in
the Discord Developer Portal. On the General Information tab you can see the
Application Id which is the DISCORD_CLIENT_ID you need to configure for this bot.
Switch to the Bot tab and create a new bot. You can customize your bot user here. The only setting this bot requires
is to enable Server Members Intent in the Privileged Gateway Intents section.
Now you can invite the bot to your server with the following link (you need to replace the client id placeholder manually!):
https://discord.com/api/oauth2/authorize?client_id=$DISCORD_CLIENT_ID&permissions=268435456&scope=bot%20applications.commands
Docker-Compose can be used for development purposes. The config is located at the project root. Creating a test
application in the Discord Developer Portal is highly recommended (
see Discord Application Setup). Afterwards you first need to copy the .env.example
file to .env and set the variables accordingly. Now it's as simple as docker-compose up (or docker-compose build
followed by an docker-compose up) to start the development instance.