Reactions and server emojis
Reactions are the emojis under a Discord message. With the Builder, your bot can add reactions, react when someone clicks one, and give roles with reactions. This guide also shows how to use your own server emojis.
Normal emojis and server emojis
Kind | How to write it | Example |
|---|---|---|
Normal emoji | Type or paste the emoji itself | 👍 🎉 ✅ |
Server emoji | Its code, |
|
Animated server emoji | Its code with an |
|
You can use server emojis in the Add a reaction block, in the reaction event, and in the emoji of buttons and select menus.
Get the code of a server emoji
The fast way: a backslash
In any Discord channel, type a backslash, then the emoji, like this:
Discord turns it into the code when you send the message, for example
<:bots:1564066268854620170>.Copy that code and paste it in the Builder.
\:bots:On a phone, the backslash is on the symbols keyboard. You can delete the message right after copying the code.
Another way: the emoji link
Right click the emoji in a message (or long press on mobile), then Copy Link.
The link looks like
https://cdn.discordapp.com/emojis/1564066268854620170.webp. The number is the emoji ID.Write the code yourself:
<:, the emoji name,:, the ID, then>.
Emojis that work everywhere: app emojis
A bot can only use a server emoji if it is in that server. To use an emoji in every server, upload it to your bot: in the Discord Developer Portal, open your app, then Emojis, and upload it. Copy its code from there.
Add a reaction to a message
Use the Add a reaction block.
Setting | What to put |
|---|---|
Emoji | A normal emoji or a server emoji code. |
Which message | The message that ran this (for text commands and events), or a message link or ID. |
Message link or ID | Right click a message, Copy Message Link. A variable like {var.msg} works too. |
Channel ID | Only needed if you give an ID instead of a link. |
Want several reactions? Chain several Add a reaction blocks: one per emoji.
React when someone adds a reaction
Create an event in the Builder and choose A reaction is added.
Setting | What it does |
|---|---|
Only this emoji | Runs only for this emoji. Empty: any emoji. |
Only on this message | Runs only on this message (link or ID). Empty: any message. |
Only in channel ID | Runs only in this channel. |
In the next blocks, {user} is the person who reacted, {emoji} is the emoji, and {message.id} and {message.link} point to the message. Reactions added by bots are ignored.
Recipe: reaction roles
Give a role to everyone who reacts with ✅ on your rules message.
Write your message in Discord (or send it with the Send to a channel or Send containers block).
Right click the message, then Copy Message Link.
In the Builder, create an event A reaction is added. Set Only this emoji to ✅ and paste the link in Only on this message.
Add an Add a role block: paste the role ID, and keep the member on The user.
Optional: add a Send a DM block like "You now have the Member role, welcome!".
Save, then restart the bot in the app. Add the ✅ reaction yourself first, so people only have to click it.
Several roles on one message? Make one event per emoji, each with its own Add a role block.
Removing the reaction does not remove the role for now. Use a button or a command to remove it.
What your bot needs
To see the channel and read its messages.
Add Reactions to add reactions.
Manage Roles for reaction roles, and its own role must be above the role it gives (Server Settings > Roles, drag it higher).
To be in the server of a server emoji, or to use an app emoji.
If it does not work
Problem | Fix |
|---|---|
Nothing happens when I react | Check the emoji and the message link in the event, then restart the bot. The bot must see the channel. |
The logs say | The bot is not in the server of this emoji. Use an app emoji instead. |
The role is not given | Give the bot Manage Roles and move its role above the role it gives. |
The emoji code is not accepted | It must look exactly like |
Stuck? Copy your logs and ask on our Discord server.
