Reaction and Button Roles
Let members pick their own roles by reacting or clicking a button.
Reaction and Button Roles
Self-serve roles keep you out of the "can I have the Artist role" queue. Both systems need Manage Server and Manage Roles (real or fake).
With reactions
,reactionrole add <message link> 🎨 @ArtistAliases: rr, and create for add.
Paste the link to any message in your server, give an emoji, give a role. bore adds the emoji to that message, and now anyone reacting with it gets the role. Reacting again takes it away.
Getting the message link: hover the message, click the ..., choose Copy Link.
,reactionrole remove <message link> 🎨
,reactionrole removeall <message link>
,reactionrole list
,reactionrole resetremove also works as delete or del, and removes the emoji from the message. removeall clears every role attached to one message. list shows one card per message with a jump link. reset wipes the whole system for your server.
Rules
- One role per emoji per message. Two roles on the same emoji is refused, and it tells you which role is already there.
- The role must sit below bore's top role and must not be managed by Discord.
- bore needs permission to add reactions to that message.
- If the message or the role is deleted later, the setup cleans itself up.
Coming back
,reactionrole restore onAlias: rejoin. Off by default. When on, roles people gave themselves are remembered and handed back if they leave and rejoin, which saves your returning members from re-picking everything. Roles that no longer exist or are out of reach are skipped.
With buttons
Buttons read better for a list of options, and you get colour, emoji and text on each one.
,buttonrole add <message link> @Artist secondary 🎨 I make artAliases: buttonroles. Arguments after the role are optional:
| Argument | Required | Detail |
|---|---|---|
| Message link | Yes | Must be a message in this server |
| Role | Yes | Below bore's top role, not managed |
| Style | No | primary, secondary, success, danger. Default secondary |
| Emoji | No | One of emoji or label is required |
| Label | No | Up to 80 characters, can be several words |
Twenty five buttons per message is Discord's limit, and bore stops you before you hit it. One button per role per message.
,buttonrole remove <message link> 3
,buttonrole removeall <message link>
,buttonrole list
,buttonrole resetremove takes the number you see in buttonrole list, counting from 1 in the order you added them. reset clears the stored setup, but buttons already sitting on a message stay visible until you remove them individually.
Clicking a button toggles the role and answers privately, so your channel does not fill with "granted @Gamer" messages. Reacting gives a small public reaction count instead, which is nicer for a ping role and noisier for a busy list.
Which to use
| Want | Use |
|---|---|
| Roles on an existing announcement | Reactions |
| A tidy menu with labelled options | Buttons |
| Roles that come back after a rejoin | Reactions with restore on |
| More than five options in one place | Buttons |
Last updated November 4, 2026