A Discord bot that allows users to self-assign roles using reactions.
A Discord bot that allows users to self-assign roles using reactions.
Follow the instructions in create-discord-bot.
Don't forget to give your bot the
Manage Roles
andManage Messages
permissions (only grant the latter if the bot should handle reactions)!
Download this bot and move the src-discord-reaction-role-bot
folder into the /src/bots folder from step 1.
Open config.json to configure your own settings:
[
{
"messageId": "858190737065902101",
"channelId": "258314939998011393",
"removeReaction": true,
"policy": "any",
"emojiRoleMap": {
"🤖": ["858186589187735565"],
"🎉": ["542138999511187486"],
"🥤": ["785794153089990688"]
}
}
]
Add as many rules as you want to configure for other servers.
messageId
is the message you want the bot to react to for your reaction roles.
channelId
is the text channel the message is in.
removeReaction
determines whether the user reaction is removed (true
) or not (false
).
policy
must be one of the following strings:
once
: User is only allowed to react and claim roles once. Subsequent reactions are ignored.any
: User can react and claim as many roles as they want.unique
(default): User can react and claim only one emoji's set of roles at a time.emojiRoleMap
is a one-to-many key-value map between emoji and role ids. An emoji can be:
A unicode emoji. https://emojipedia.org is a good reference to copy and paste from.
"emojiRoleMap": {
"😳": ["ROLE_1_ID"],
"🥺": ["ROLE_2_ID", "ROLE_3_ID", "ROLE_4_ID"]
}
An emoji ID for custom emojis. You can get a custom emoji's ID by sending \:YourCustomEmoji:
in chat (prefix a backslash \
character in front of your desired emoji).
"emojiRoleMap": {
"716344914706694165": ["ROLE_1_ID"],
"622635442013208589": ["ROLE_2_ID", "ROLE_3_ID", "ROLE_4_ID"]
}
npm start
to run the bot.
Visit for more help or information!