Home
Get Started Reaction Roles

Reaction Roles

Let members add or remove roles by reacting to a specific message.

Replace [prefix] with your server’s prefix. For Calamity the prefix is ,,.

You can post a simple plain text message or a styled embed as the reaction-roles post. Both work.

1) Create the target message

Post the message users will react to (plain text or embed). Copy its Message ID (Right-click → Copy ID).

// example (plain text)
pick your roles below

// example (embed)
{embed}$v{title: pick your roles}$v{description: react with the emojis below}

2) Add an emoji → role mapping

Link one emoji to one role for the chosen message.

// syntax
,,reactionrole add <message id> <role> <emoji>

// example
,,reactionrole add 123456789012345678 @Member ✅
Adding a reaction role mapping

3) Limit how many roles users can pick

Set a maximum number of reaction roles a user can have from this message.

// syntax
,,reactionrole amount <message id> <amount>

// example (max 2 roles)
,,reactionrole amount 123456789012345678 2
Setting a role amount limit for a message

4) Remove a mapping

Detach a role from the message. The emoji becomes unrelated to roles.

// syntax
,,reactionrole remove <message id> <role>

// example
,,reactionrole remove 123456789012345678 @Member
Removing a reaction role mapping

5) Reset all mappings on a message

Clears every emoji → role mapping from the selected message.

// syntax
,,reactionrole reset <message id>

// example
,,reactionrole reset 123456789012345678

Tips

  • Ensure the bot can manage roles and its role is above the target roles in the server role list.
  • Both standard and custom emojis work. For custom emojis, the bot must have access to the emoji’s server.
  • If you heavily edit the target message, re-check your mappings or reset and add them again.