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> 🎨 @Artist

Aliases: 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 reset

remove 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 on

Alias: 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 art

Aliases: buttonroles. Arguments after the role are optional:

ArgumentRequiredDetail
Message linkYesMust be a message in this server
RoleYesBelow bore's top role, not managed
StyleNoprimary, secondary, success, danger. Default secondary
EmojiNoOne of emoji or label is required
LabelNoUp 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 reset

remove 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

WantUse
Roles on an existing announcementReactions
A tidy menu with labelled optionsButtons
Roles that come back after a rejoinReactions with restore on
More than five options in one placeButtons

Last updated November 4, 2026