> ## Documentation Index
> Fetch the complete documentation index at: https://docs.newt.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# Reaction Roles: React to Any Message to Get a Role

> Tie an emoji reaction on any message to a role — members react to get it, unreact to remove it. Set up entirely with slash commands.

Reaction roles let members assign themselves a role by reacting to any message in your server. React to get the role, remove your reaction to give it back — it works on any message, including ones you did not write.

## Setting it up

<Steps>
  <Step title="Copy the message link">
    Right-click the message you want to use in Discord and select **Copy Message Link**. If the message is in the same channel you will be running the command in, the message ID alone is enough (enable Developer Mode in Discord's settings if you do not see this option).
  </Step>

  <Step title="Run the command">
    Run `/reactionrole add <message> <emoji> <role>` with the link you copied, the emoji members will click, and the role they should receive. If the message is in a different channel from where you are typing, include the `[channel]` option.
  </Step>

  <Step title="Check the message">
    Newt adds the emoji to the message straight away, so members have something to click. They react to gain the role and remove their reaction to lose it.
  </Step>
</Steps>

## Things worth knowing

**Commands only.** Reaction roles have no dashboard equivalent. If you would prefer to manage role assignments from the dashboard, use [Role Buttons](/features/role-buttons) instead.

**Removing a reaction role.** Running `/reactionrole remove` removes the link between the emoji and the role. Members who already hold the role keep it — they are not stripped of it when you remove the configuration.

**Custom emoji.** Custom emoji must come from a server that Newt is in, or it cannot react with them. If a custom emoji is later deleted from its original server, that reaction role stops working.

**Silent operation.** Reaction roles are silent — no confirmation message appears when someone gains or loses a role. A reaction cannot reply privately the way a button can, so members have no immediate feedback if something goes wrong.

**If nothing happens.** The most common reason a reaction does nothing is that Newt's role sits below the role it is trying to assign in the role hierarchy. Go to **Server Settings → Roles** and drag Newt's role above the affected role.

**Deleted messages.** If you delete the message that reaction roles are attached to, all of those reaction roles are removed along with it.

<Info>
  If you want members to receive a private confirmation when they click — or if you need them to know why a click did nothing — use [Role Buttons](/features/role-buttons) instead. Buttons reply privately and can explain exactly what happened.
</Info>

## Command reference

| Command | What it does | Who can use it |
| - | - | - |
| `/reactionrole add <message> <emoji> <role> [channel]` | Tie an emoji to a role | Manage Roles |
| `/reactionrole remove <message> <emoji>` | Remove the tie | Manage Roles |
| `/reactionrole list` | Show every reaction role in the server | Manage Roles |
