How to make reaction roles in Discord

Without a bot, the only way members can pick their own roles in Discord is Onboarding, which needs a Community server. With Bond you ask for a role menu and it posts one where members pick their roles themselves, or builds the emoji-reaction version if you would rather react.

Verified 28 Sept 2026 on a test server · build 5330928

In Discord, without a bot.

Discord's own self-serve roles are Onboarding questions, and Onboarding exists only on Community servers.

  1. Create the roles first: Server Settings, Roles, Create Role. Leave every permission off. A role members give themselves should never open anything by accident.
  2. If the server is not a Community server yet, open Server Settings, Enable Community and follow the steps. It asks for a verification level, the explicit media filter, a rules channel and an updates channel.
  3. Open Server Settings, Onboarding. It needs at least 7 default channels, and at least 5 of them must let @everyone view them and send messages.
  4. Add a question, such as "What are you into?", with one answer per role, and set each answer to give its role. Switch on Allow multiple answers if members may pick more than one.
  5. Save and enable Onboarding. New members answer while they join, and anyone can change their picks later from Channels & Roles at the top of the channel list.

Without Community there is no self-serve option at all. Someone with Manage Roles gives every role by hand, from the member's profile or Server Settings, Members.

With Bond, in two messages.

A real run, recorded on a test server: what was asked, what Bond asked you to approve, what it did, and what members saw afterwards.

  • @Bond Post a role menu in #roles where members can pick Gaming, Music and Art.

In #admin-chat

admin-chat
Y
you28 Sept 2026

@Bond Post a role menu in #roles where members can pick Gaming, Music and Art.

BondAPP28 Sept 2026

Install a plugin

for @You

Always allow stops asking about installing plugins · Expires in 10 minutes

AllowAlways allowDeny
Y
you28 Sept 2026

@Bond Make it one role at a time, so picking a new role replaces the old one.

BondAPP28 Sept 2026

Change a plugin's settings

for @You

Always allow stops asking about plugin setting changes · Expires in 10 minutes

AllowAlways allowDeny

What Bond did

Post a role menu in #roles where members can pick Gaming, Music and Art.

Posted the role menu in #roles. Members can toggle Gaming, Music, and Art from the menu; selecting a role they already have removes it. The panel message ID is 100000000000000021.

Make it one role at a time, so picking a new role replaces the old one.

Updated the role menu to exclusive mode: choosing Gaming, Music, or Art replaces the previously selected role. The change takes effect the next time someone uses the menu.

In #roles, afterwards

roles
BondAPP28 Sept 2026

Pick your roles from the menu. Pick a role you already have to remove it.

Choose a role
  • Gaming
  • Music
  • Art
BondAPP28 Sept 2026

Done: added Gaming.

Only you can see thisDismiss message

BondAPP28 Sept 2026

Done: removed Gaming, added Music.

Only you can see thisDismiss message

Light tier · 2 messages · 37 seconds · 204K tokens

Recorded on a Bond test server on the Light tier, the tier every free plan runs on. Server, channel and member IDs are placeholders, the test bot is shown as Bond, and the steps where Bond loads its own tools or pages through a long result are left out. The test server has no plan limits, so the plan limits a step reports are left out. The Always allow line on each approval card is reworded in plain words.

The test server already had #roles and the Gaming, Music and Art roles, below Bond's own role, and Bond built the menu from them. Bond asked once, to install the plugin, and the recording pressed Allow. The first menu let members pick any mix of the three. The second message asked for one role at a time, so Bond changed that one setting after a second card, which the recording also allowed, and updated the same menu message. The menu shown is the one-at-a-time version. The test account then picked Gaming, and then Music, which took Gaming away.

The permissions it takes.

Bond checks every step against your own Discord permissions and role position before it acts, and what it reads back is only what you can already see.

What you need

  • List pluginsNothing extra
  • List channelsNothing extra
  • List rolesNothing extra
  • Install pluginAdministrator
  • Configure pluginManage Server

Installing takes Administrator, the same bar as any automation, because an automation goes on acting as Bond long after you asked for it. Bond itself never needs Administrator.

What Bond needs

  • Manage Roles, because Bond gives and takes the roles.
  • Its highest role above every role in the menu. Discord refuses any bot a change to a role at or above its own, whatever permissions the bot holds. Drag Bond's role up in Server Settings, Roles.
  • View Channel and Send Messages in the channel the menu goes in.

Bond's invite already grants these. A channel's own permissions can still deny Bond's role, so check Edit Channel, Permissions if the menu does not appear.

What to watch for.

  • One menu holds up to 25 roles, which is Discord's limit for a single menu.
  • In one-at-a-time mode, picking a new role replaces the old one, and picking the role you already hold removes it.
  • The reply after a pick is only visible to the member who picked.
  • If you delete one of the menu's roles, ask Bond to update the menu so the role drops out of it.
  • The role menu plugin does not use any of your automation slots. A server without a plan can have 5 plugins installed.

Questions people ask.

  • Should I use a role menu, emoji reactions or Onboarding?

    Onboarding is built into Discord and asks new members while they join, but it needs a Community server and some setup in Server Settings. A menu is one message that anyone can use at any time, and it shows the real role names. Emoji reactions are the classic look: ask Bond for the emoji version and it writes a small automation that gives the role when someone reacts. Creating that automation needs Administrator.

  • Can members hold only one of the roles, like a color role?

    Yes. Ask for one role at a time, as in the second message above, and picking a new role replaces the old one. You can also allow several and cap how many of the menu's roles one member can hold.

  • Why did a member not get the role?

    Almost always because the role sits above Bond's highest role, which Discord does not let any bot manage. The reply the member sees says so. Move Bond's role above it in Server Settings, Roles.

  • How do I change or remove the menu?

    Ask Bond, for example to add a role or change the text above the menu, and it edits the same message instead of posting a new one. Changing the settings needs Manage Server. Removing the plugin needs Administrator, and Bond shows you what it removes before it does.

  • Is it free?

    Yes. Every tool works on the free plan. Setting this up uses tokens from your weekly allowance, and the run above shows how many; a free account gets 600K tokens a week. Picks from the menu use none.

Ask for it in your own words.

Free to start. Bond never needs Administrator, and it shows you what it is about to change before it changes it.