hourden
Sign in Create accountSign up
BuyInstagramTikTokYouTubeFacebookX (Twitter)TwitchTelegramSpotifySoundCloudDiscordRedditLinkedInThreadsPinterestSnapchatRumbleWebsite trafficMobile appVKAudiomackClubhouseApple MusicBlueskyDailymotionLikeeMixcloudQuoraTumblrVimeoAll services

How to Make Reaction Roles on Discord

Every guide covers the bot commands. Almost none covers the one thing that makes them silently fail.

Updated October 2026

Add a bot that supports reaction or button roles, give it permission to manage roles, and drag its role above every role it will hand out. Then create the message, attach each emoji or button to a role, and post it in a channel members can see.

For simple cases, Discord's own onboarding does this natively: server settings has a customization area where questions grant roles.

The usual failure is position. A bot below the role it is assigning fails silently.

The part most guides skip

That silent failure deserves to be the headline, because it wastes more time than any command syntax.

Discord's hierarchy says a role can only manage roles below it. A bot is an account with a role, and it follows the same rule. If the bot's role sits under the member role it is supposed to grant, the reaction registers, the bot tries, Discord refuses, and nothing visible happens.

Most bots do not announce the error in the channel. Some log it where nobody looks. The symptom is a member clicking an emoji and receiving nothing, which reads as a broken bot rather than as a configuration mistake.

The fix is one drag in server settings: the bot's role goes above everything it distributes, and below the staff roles it should never be able to touch.

The same rule explains the other half of the question people ask afterwards — why the bot can grant one role and not another. It is not the emoji, the message or the command. It is which side of the bot's role the target sits on.

The native route first

Discord's onboarding feature grants roles from answers to questions shown to new members.

It lives in server settings under the customization area, and needs the server's community features enabled.

It covers the common case: pick your interests, get the matching channels.

It does not need a bot, cannot go offline, and survives a bot being removed. For a simple server it is the better answer.

Setting up a bot

Choose a maintained bot that supports reaction or button roles, and invite it with the manage roles permission.

Position its role above every role it will assign, in server settings, Roles.

Create the role message through the bot's dashboard or commands, mapping each emoji or button to a role.

Post it in a channel where the audience can see and react, and pin it.

Buttons against reactions

Reactions are the older pattern and leave a visible count under the message, which some servers dislike.

Buttons and select menus are cleaner, do not show counts, and are less prone to people removing the wrong emoji.

Functionally they do the same thing and hit the same hierarchy rule.

If the server is large, buttons scale better because they do not generate a reaction event per member.

When it does not work

Bot role below the target role: the most common cause, and silent.

Missing manage roles permission on the bot.

The bot was offline when the message was posted, so the message is not registered to it.

The emoji is from a server the bot cannot access, or was deleted after the mapping was made.

And the member already has the role, in which case most bots do nothing rather than reporting it.

Designing the role menu

Keep it short. A menu with twenty options is a menu nobody finishes.

Use roles that change what someone sees, such as access to topic channels, rather than decorative roles nobody notices.

Put it in a channel new members land in, and explain in one line what the roles do.

And review it. Role menus accumulate dead entries pointing at channels that no longer exist, which is the kind of rot that makes a server feel abandoned.

Questions people ask about reaction roles

Why does nothing happen when I react?

Almost always because the bot's role sits below the role it is trying to assign. Drag the bot's role higher in server settings.

Can I do reaction roles without a bot?

Discord's onboarding grants roles from questions natively, which covers simple cases without any bot.

What permission does the bot need?

Manage roles, plus access to the channel holding the message. Administrator is not required and should not be granted for this.

Are buttons better than reactions?

For large servers, yes. They avoid visible counts and scale better, and both are subject to the same hierarchy rule.

Why can the bot give one role but not another?

The one it cannot give sits above the bot's own role in the list. Position decides, not the permission alone.

Do reaction roles survive the bot leaving?

No. The mapping lives in the bot, so removing it breaks the menu. Roles already assigned stay with members.

Keep reading