Community

Discord reaction roles bot with buttons and select menus

Role menus let members pick their own roles: games, regions, pronouns, ping notifications or colors. Build the menu in the web console, choose buttons, a dropdown or classic reaction roles, and BotGG posts it and keeps it in sync.

  • Works on the Free plan
  • 1 slash command
  • Set up in the web console
pick-your-rolesDiscord preview

BotGGBOTToday at 20:14

🎮 Pick your games
Click a button to get the role and the pings for that game.
Click again to remove it.
🔫Valorant⛏️Minecraft🗡️League of Legends💣CS2

BotGGBOTToday at 20:16

Added: @Valorant

Only you can see this

A button role menu and the private reply a member sees after clicking

What you get

Three styles

Buttons with a label, emoji and color per role; a single select menu with descriptions; or classic reactions under the message, where the bot adds the emojis itself.

Four modes

Toggle roles freely, allow only one role from the menu (picking another swaps it), give-only menus for verification-style roles, or remove-only menus.

Limits and requirements

Cap how many roles of a menu one member may hold, require one or all of certain roles, block roles, or set a minimum level.

Private feedback

Members get an ephemeral reply like “Added: @Valorant”, so the channel stays clean. Reaction menus can send the result by DM instead.

Always in sync

Edit a menu in the console and the posted message updates within seconds. Move it to another channel and the old message is removed.

Clear errors, not silence

If a role is above the bot, missing or managed by an integration, both the console and the member see a plain explanation instead of a click that does nothing.

How it works

  1. Create a menu in the console

    Open Role menus in the web console, add a menu, pick its channel and write the message with the embed builder.

  2. Add roles and choose a style

    Pick roles from a list, give each an emoji and label, then choose buttons, select menu or reactions. The sticky live preview shows the result.

  3. Set the rules

    Choose a mode, a per-member limit and any requirements. Warnings appear right away if the bot can’t manage a role.

  4. Save and it’s live

    The bot posts the menu in your channel. Use Re-post in the console or /rolemenu send if someone deletes it or you want it elsewhere.

Reaction roles vs buttons vs select menus

Classic reaction roles still work and many communities are used to them, so BotGG supports them — up to 20 per message, which is Discord’s own limit. For new menus, buttons and select menus are usually the better self roles setup: the member gets an instant private confirmation, nothing depends on reaction counts, and a menu can hold up to 25 roles.

  • Buttons — best for a handful of roles people toggle often (game pings, event notifications).
  • Select menu — best for long lists like regions, languages or games, with a description under each option.
  • Reactions — best when your community expects them; optional DM confirmations and automatic reaction cleanup.

Self roles that keep your server organized

Use a unique menu for colors or regions so members can’t stack them, a give-only menu for an “I read the rules” role, and requirements to unlock roles for active members only. Combine role menus with Verification for new members and Welcome messages that point them to the right channel. Optional logging of every role change made through menus goes to a channel of your choice.

Slash commands

Generated from the bot’s real command definitions. Full list on the commands page.

/rolemenuRole menus1 subcommand
  • /rolemenu sendmenuchannel?Post or re-post a role menu

Commands

Free vs Pro

Every feature works on the Free plan. Pro raises the limits and unlocks extras.

LimitFreePro
Role menus350

See pricing

Frequently asked questions

How do I make reaction roles on Discord?

Enable Role menus in the web console, create a menu, choose the Reactions style and assign an emoji to each role. BotGG posts the message and adds the reactions; members react to get the role and remove the reaction to drop it.

Why doesn’t the bot give a role?

Most often the role sits above BotGG’s highest role, or the bot lacks the Manage Roles permission. Drag the BotGG role above the roles it should hand out in Server Settings → Roles. The console warns you about this while you build the menu.

Can members pick only one role from a menu?

Yes. The unique mode allows one role at a time and swaps it when the member picks another — perfect for colors, regions or teams. You can also set a limit like “at most 3 roles from this menu”.

Can I lock roles behind a level or another role?

Yes. Each menu can require any or all of chosen roles, block members with certain roles, and require a minimum level from the Levels feature.

How many role menus can I create?

The Free plan includes 3 menus and Pro raises the limit; see pricing for the numbers. Each menu holds up to 25 roles (20 for reaction menus).

Ready to level up your server?

Add BotGG for free, then switch features on in the web console.