Discord Reaction Roles (Role Menu)
Handing out notification, game or color roles one by one eats staff time. VeyroBot posts a role menu in a channel, and members take and drop their own roles. The menu is set up with the /reactionrole command or in the Reaction Roles section of the dashboard, and the given role can optionally be removed by itself after a set time.
Dropdown menu or button panel
In a dropdown a member can tick several roles, and a role they untick is removed — right for sets managed together like colors, games or interests. In a button panel each button toggles only its own role — right for roles taken one at a time like a rules acknowledgement or a notification role.
Fast by command, fuller in the dashboard
The command builds a menu with up to five roles at once. In the dashboard a menu takes up to 25 roles, a title of up to 256 characters, a 1000-character description, an embed color and the channel to post in. 25 is Discord's menu limit.
Timed roles
A menu can get a duration of 10 minutes, 1 hour, 6 hours, 1 day, 3 days, 7 days or 30 days. When it runs out the bot removes the role; the end time is stored in the database, so a bot restart doesn't lose it. The Premium page shows which plan includes it.
A role that can't be given isn't hidden
If the bot's role sits below the role it hands out, or the bot lacks Manage Roles, the role is not skipped silently; it appears by name on the "Insufficient Permissions" line of the reply to the member.
Bulk role distribution
If auto-roles were turned on after members already joined, the /roleall command hands the role to every existing member who doesn't have it yet. It needs the real Manage Roles permission on Discord (a dashboard admin role isn't enough); the role can't be @everyone, a managed role, one with a dangerous permission, or the verified role, and it must sit below both the bot's role and the role of whoever runs the command. The rollout runs in the background — it can take hours on a large server — and only one job runs per server at a time; members who already have the role are skipped, as are those still waiting on verification.
Who it’s for
Communities where members choose their own notification, game, color or interest roles, and servers handing out temporary roles during events and contests.
Who it’s not for
Cases where a staff member must decide who gets the role: staff hiring, verified-member status or roles tied to an application. Anyone who can see the channel can take any role in the menu.
Setup in 3 steps
-
1
Add the bot to your server
Open the invite link above, pick your server and approve the permissions. The bot comes online within seconds.
-
2
Turn on Auto Roles and move the bot role up
Giving roles depends on this module. In Server Settings → Roles, drag the VeyroBot role above the roles it will hand out; the bot needs Manage Roles.
-
3
Build the menu
With the /reactionrole command (up to five roles) or in the Reaction Roles section of the dashboard (up to 25 roles), choose the menu type, title, roles and optionally a duration, and post it in a channel everyone can read.
Related commands
For the full list of commands, see the commands page.
Step-by-step usage in the docs: Auto Roles & Role Panels · Timed Reaction Roles
Sourced, dated comparisons with other bots: MEE6 and VeyroBot comparedDyno and VeyroBot comparedCarl-bot and VeyroBot comparedTatsu and VeyroBot comparedBetterAntispam and VeyroBot comparedMEE6, Dyno and Carl-bot compared
Frequently asked questions
Why doesn't the menu respond to clicks?
Giving roles depends on the Auto Roles module; while it is off the menu does nothing. If the module is on, check that the bot's role is above the roles it gives and that the bot has Manage Roles.
Can I edit a menu later?
No. The title, description and roles are set when the menu is created. To change them, build a new menu and delete the old one; if the menu message is deleted, that menu stops working.
Can I make only one role in a menu timed?
No. The duration is set per menu and every role taken from that menu gets the same duration. Build separate menus for different durations.
What if a member drops a timed role early?
The timer is deleted the moment they drop it; if they take it again, the duration starts over. Even if the menu is deleted later, roles given from it are removed when their own time runs out.
Related articles
How to Set Up Discord Reaction Roles? Complete Guide Including Timed Roles
Dropdown menu or button panel? Which one is right for your role set, how to set a duration on a menu, and how the role is removed when the time expires? Command and panel setup, the hierarchy trap, and three common mistakes.
Discord Server for Software Developer Community: Channel Layout, Roles, and Moderation
A developer community is a Q&A archive rather than just a chat. Help organization with forum channels, language and interest roles, question-asking rules, and protection against spam and malicious links.
How to Set Up a Discord Server for a Study and Education Community
Discord layout for study, exam prep, and education communities: subject channels, Forum for Q&A, silent study rooms, subject roles, cautious moderation, and a study schedule.
How to Set Up Discord Welcome Message and Auto Roles
First role and channel permissions, then the message: set up the automatic role and card welcome message for new members via the dashboard or command, choose the right option between delay and captcha, and avoid the five most common mistakes.
How to Give a Bulk Role to Everyone on Discord
If you enabled autorole later, existing members won't have it. Distribute the role to all current members with a single command using /roleall: required permissions, role hierarchy, progress card, stopping, and differences from autorole step-by-step.
Adding it is all it takes to try
Add VeyroBot to your server and turn on the modules you want in the web dashboard. You can switch off anything you don't use.
Add to Server for Free