Reactions or buttons?
- Reactions: members click an emoji under a message. Familiar, and a message can hold up to 20 different reactions.
- Buttons: members click labelled buttons. Clearer for newcomers, and a message can hold up to 25.
- Community servers can also hand out roles with onboarding questions when people join.
Read more: How to set up Discord onboarding questions
What a Discord reaction roles bot needs
- Manage Roles, with its own role ABOVE every role it hands out: Discord only lets it manage roles below its own.
- View Channel, Send Messages, Embed Links and Add Reactions in the channel with the role message.
- Use External Emojis, if you use custom emoji from another server.
Read more: Discord role hierarchy, explained
Set up the channel
Make a #pick-your-roles channel that members can read but not post in: deny @everyone Send Messages, and keep Add Reactions allowed if you use reactions. Put a short line above each set of roles saying what they're for.
Common Discord reaction roles mistakes
- The bot's role sits below the roles it gives out, so nothing happens when people react.
- Handing out roles with moderator or admin permissions from a public message.
- Too many choices in one message: split games, interests and pings into separate messages.
- Deleting the role message, which loses every reaction on it.
Discord reaction roles with Foreman
/reactionrole post creates a role panel, /reactionrole add makes an emoji on any message give a role, and /reactionrole list shows them all. Modes: normal, pick one, or keep (the role stays when someone removes their reaction). In the Builder you can also put a button or reaction role picker on a channel, and Foreman posts it and keeps it up to date. He leaves admin and moderator roles out of pickers.