Interactive emoji-based role assignment system. Let members choose their roles by reacting to messages with emojis.
Set up reaction roles with a simple message context menu command.
Support for both Unicode and custom server emojis.
No limits on the number of reaction roles you can create.
Manage reaction roles easily with built-in commands.
The primary way to create reaction roles.
Note: The bot needs "Manage Messages" permission in the channel to set up reaction roles.
Management dashboard for reaction roles.
Opens instructions on how to use the message context menu command.
Opens a dropdown menu showing all configured reaction roles. Select one to remove it from the system.
Send a message in your desired channel explaining what roles members can get. Format it nicely with emojis and descriptions.
Example: "React to get your color roles! 🔴 Red | 🔵 Blue | 🟢 Green"
Right-click the message, go to Apps → Setup Reaction Role. Select the first role (e.g., Red) and react with the corresponding emoji (🔴).
Repeat the process for each role you want to add. You can add multiple reaction roles to the same message for a complete role menu.
Try reacting to the message yourself! The bot should assign you the role when you react and remove it when you unreact.
When you use the "Setup Reaction Role" command, the bot creates a temporary waiting period (3 minutes). During this time, when you react to the target message with an emoji, the bot captures that reaction and associates it with your selected role.
The bot listens to the on_raw_reaction_add and on_raw_reaction_remove events from Discord. When a user reacts to a message that has reaction roles configured, the bot checks the emoji and assigns/removes the corresponding role.
Reaction role configurations are stored in MongoDB with the following structure:
Let members pick their name color by reacting with different colored emojis.
Create game interest roles so members can find teammates and get pinged for game events.
Allow members to opt in/out of announcement pings and update notifications.
Let members select their timezone or region for better coordination.
Enable members to display their pronouns via self-assignable roles.
Control access to optional channels by requiring members to react to gain access.
Yes! Each reaction role is tied to a specific message. You can use the same emoji on different messages to assign different roles.
The reaction role configuration will remain in the database, but it won't work since the message is gone. You should manually remove it using /reactionroles → Remove Reaction Role.
Yes! Members can react with multiple emojis on the same message to get multiple roles. There's no mutual exclusivity unless you configure it using permission settings.
No, the bot needs to be online to detect reactions and assign roles. However, when the bot comes back online, it will process any reactions that occurred while it was offline.