Advanced Discord bot to automate new Member on-boarding.
TBD
I am using it successfully for a couple of years on my community servers now, however especially configuration simplification has missing features. You have been warned.
You must have at least one other bot (Carl, ME6, ...) in use that assigns the "Lurker" role to new members, since most servers already have some sort of moderation bot, I did not include this feature into Igor on purpose. Alternatively you can assign the "Lurker" role to new members manually to trigger onboarding, but where's the fun in that 😁
It's recommended to use Docker and docker-compose to bring up the bot and its companion services.
- Copy
docker/docker-compose.example.ymlasdocker-compose.ymlto a directory of your choice and add your bot token in there - Copy
docker/appsettings.Production.example.jsonasappsettings.Production.jsoninto the same directory as the compose-file - Run
docker-compose pullto fetch the container images - Run
docker-compose up -dto bring the bot and database services online
As of the time of writing, the bot doesn't have any server setup commands, so some elbow grease is required to get it up
and running 💪 No worries though, I've got you covered! Adjust your appsettings.Production.json with the values
outlined below.
- Create a new Guild entry in the config file with your server's ID as the key name
- Set the
GuildIdconfig value to the same ID - Add a "Lurker" role and copy its ID to the
StrangerRoleIdconfig value- This is the role new members should get assigned to get identified. More on that later on.
- Add a "Full Member" role and copy its ID to the
MemberRoleIdconfig value- This is the role that promoted/unlocked members will get assigned when approved by a moderator
- Create a new category "Newbies" and copy its ID to the
ApplicationCategoryIdconfig value - (Optional) Add one or more moderator role IDs to
ApplicationModeratorRoleIdsto give them the power to kick, ban or approve new members - Add a private channel for bot status messages and copy its ID to
StrangerStatusChannelIdconfig value - Add a public channel for the welcome messages and copy its ID to
MemberWelcomeMessageChannelIdconfig value
To be done...
docker build --platform linux/amd64 --push -t containinger/igor-bot .