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

# Reaction roles

> Let members give themselves a role by reacting to a message, and take it back by removing the reaction.

A reaction role ties an emoji on a message to a role. Members react to get the role and remove their reaction to lose it. You can attach one to any message that already exists, which makes it the quickest self-service option to set up.

## Setting one up

<Steps>
  <Step title="Post the message">
    Write the message members will react to, in the channel where you want it. Any message in your server works, including one Bloom posted.
  </Step>

  <Step title="Copy its link">
    Right-click the message and choose **Copy Message Link**.
  </Step>

  <Step title="Pair an emoji with a role">
    Run `!reactionrole <link> 🎮 Gamer`. Bloom saves the pair and adds the reaction itself, so members can click it straight away.
  </Step>
</Steps>

<ParamField path="reactionrole <message link> <emoji> <role>" type="Manage Roles">
  Creates the pair. Alias: `rr`. Bloom needs **Manage Roles** and **Add Reactions**.

  * The message must be in this server.
  * The role can be a mention, an ID, or a name.
  * Each emoji on a message can carry one role. Use a different emoji for each role.
  * Custom emoji work, and you can type an emoji's name if you cannot post it directly.
</ParamField>

## Managing what you have

| Command                              | What it does                       |
| ------------------------------------ | ---------------------------------- |
| `reactionrole list`                  | Shows every pair in the server.    |
| `reactionrole remove <link> <emoji>` | Removes one pair.                  |
| `reactionrole remove <link> all`     | Clears every pair on that message. |
| `reactionrole remove all`            | Clears every pair in the server.   |

<Warning>
  Bloom can only assign roles below its own highest role. If a self-assignable role is moved above Bloom's, reacting silently stops working.
</Warning>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Reacting does nothing">
    Check the pair still exists with `!reactionrole list`, that Bloom can see the channel, and that the role has not been moved above Bloom's own role.
  </Accordion>

  <Accordion title="The pairs vanished after I edited the message">
    Pairs are tied to a message ID. Editing is fine, but a deleted and reposted message is a new message and needs setting up again.
  </Accordion>

  <Accordion title="Bloom will not accept my emoji">
    Bloom tests the emoji by reacting with it. Emoji from other servers that Bloom is not in cannot be used. Pick an emoji from this server or a standard one.
  </Accordion>

  <Accordion title="I want more roles than emoji make practical">
    Past a handful of options, a [dropdown menu](/configuration/roles/dropdown-roles) is easier to read and holds far more roles.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Dropdown menus" icon="list-check" href="/configuration/roles/dropdown-roles">
    A tidier picker for larger sets of roles.
  </Card>

  <Card title="Autoroles" icon="user-plus" href="/configuration/roles/autoroles">
    Roles given automatically on join.
  </Card>

  <Card title="Managing roles" icon="user-gear" href="/configuration/roles/managing-roles">
    Create and edit the roles you want to offer.
  </Card>

  <Card title="Permissions and hierarchy" icon="user-lock" href="/getting-started/permissions">
    Why Bloom's role position decides what it can assign.
  </Card>
</CardGroup>
