How to Set Up Reaction Roles in Discord (3 Methods)
V
Vibecord Team
Answer: Reaction roles (and modern role menus) let members self-assign roles by clicking a button or selecting from a dropdown. The safest setup uses a dedicated #roles channel, a clear mapping of options to roles, and correct role hierarchy so the bot can assign the roles.
TL;DR
- Use select menus for “pick one” or “pick many” role groups.
- Keep self-assign roles below your bot role in the hierarchy.
- Use a dedicated #roles channel and pin the role menu message.
Buttons vs select menus
| UI | Best for | Notes |
|---|---|---|
| Buttons | Small sets (2–5) | Very clear; great for verification and pings |
| Select menu | Many roles (5–25) | Cleaner and scalable; supports single-select groups |
Step-by-step setup
- Create the roles (Server Settings → Roles).
- Create #roles channel and restrict chat if you want it clean.
- Configure a role menu mapping options to roles.
- Test with an alt account.
- Pin the role menu message and link it from #rules.
Common gotchas
- Role hierarchy: bot role must be above any roles it assigns.
- Channel permissions: bot must be able to read and send messages in #roles.
If you’re stuck, start with permissions errors.
Create a custom role menu bot
Need role menus that match your server’s rules? Build a custom bot with VibeCord and specify button vs menu behavior, “pick one” groups, and logging.
Ready to build your own bot?
Stop reading, start building. Create your first Discord bot in minutes—no code required.
Get Started Free