Modules
Reaction Roles
Messages members react to for roles: up to 3 per server, each with up to 30 emojis, in nine modes, with a live preview to try them.
A reaction role is a message with emojis under it. Each emoji gives a role: members react to get it, and (in the usual mode) take their reaction off to give it back. Use them for colours, pronouns, game roles, the pings members want, or a "✅ I've read the rules" under your rules. Fluxer has no buttons or menus in messages, so reactions do the picking.
Reaction Roles is a module of its own, next to Auto Roles (roles Dexy hands out by itself). It's on in a new server, but it does nothing until you make a reaction-role message. It's free.
Limits#
- 3 reaction-role messages per server. The dashboard shows how many are used; to make another, delete one.
- Up to 30 emojis on each: as many reactions as Fluxer allows on one message.
- A role can be on one message only, so two messages never fight over it.
Make one#
- Open Reaction Roles on the dashboard and press New reaction role.
- Where: pick the channel to post it in, or Attach to a message and paste the link of a message that's already there.
- Message: write what members read.
{roles}is where the list of emojis and roles goes; without it, the list goes under your text. - Embed (optional): switch it on for a card under the text, with a title, a colour, pictures and fields.
- Emojis and roles: press Add emoji, pick an emoji (one of your server's own, or any other) and a role, and add a few words about it if you like.
- Mode: pick how reactions work. The line under it says what the mode does.
- Who can use it: only members with some roles, and never members with others, if you like.
- Press Post it. Dexy posts the message and adds the reactions.
The preview beside the editor (under Preview on a phone) shows the message as Fluxer will, and you can click its reactions to try the mode as a member would.
The message#
A message Dexy posts is written like a Welcome message: markdown text up to 4,000 characters, and an embed if you switch Embed on (another is a link away, up to five). An embed has a colour, an author and its icon, a title with a link, text, fields, a thumbnail (the server's icon or a picture from a link), a big image, a footer and the time. The buttons over the text boxes add Fluxer's formatting (see Text formatting).
Two placeholders work in every text:
| Placeholder | Becomes |
|---|---|
{roles} | The list: one line per role, its emoji, the role and its description. |
{server} | The server's name. |
With List the emojis and roles on and no {roles} in any text, the list goes under the embed's text (or the message's). What members see:
Dexy BOT Today at 9:41 PM
Pick your roles
React to get a role, and react again to give it back. One at a time. 🌸 @Gamers — Gamers: game nights and LFG pings 🦉 @Night Owls — Night Owls: the late-night chat 🎉 @Event Team — Event Team: hear about events first
Dexy Lounge · roles
Sent as picks how Dexy posts the panel: Text (only the text, with the buttons, menu or reactions under it), Embed (the text and embeds, the default) or Components V2 (one card: the text and each embed as a block with its colour as the accent bar, the buttons or menu inside it). All three use what you wrote, so switching loses nothing. Discord can't turn a posted message into Components V2 or back, so changing it posts the panel again as a new message (the old one is deleted).
Pick Components V2 and the text and embed editors make way for a Layout builder, which works like Discord's own Components V2 builders:
| Part | What it is |
|---|---|
| Container | A card with a coloured bar on its left (pick the accent colour, or none), which can hide behind a spoiler. The other parts go inside it. |
| Section | One to three lines of text with a picture or a link button on the right. |
| Text | Discord markdown: headings, bold, lists, links, mentions, timestamps. |
| Separator | A line, or just space, small or large. |
| Media gallery | One to ten pictures in a grid. |
| Link buttons | Up to five buttons that open a link. |
| Dexy's part | The buttons or menu members pick from (not on a reaction panel, whose reactions stay under the message). Move it where it should go; left out, Dexy puts it at the end. |
Buttons in the layout can do more than open a link: Give or take a role turns one into one of the panel's own role buttons, in the colour (blurple, grey, green or red), label and emoji you pick. Put one on the right of a section to set a role beside its description. The A row per role template does that for every role at once. Once the layout has role buttons of its own, they're how members pick: Dexy adds no other buttons, menu or reactions, whatever How members pick said, and the editor names any role still without a button.
Add component adds a part; open one to change it, and use the arrows to move it, the copy button to duplicate it or the bin to remove it. Drag a row by its handle (⋮⋮, with a mouse or a finger) to move it anywhere it can go: into or out of a container, between sections, galleries or button rows; a line shows where it lands, and dropping it on an Add … puts it at the end of that list. Click a part in the preview to open it in the list. The counters show Discord's limits: 40 components and 4,000 characters of text in one message. Templates start you off (the first one is your text and embeds laid out as a card), and JSON copies the layout or takes one pasted from another Components V2 builder. Until you change the layout, Dexy lays out your text and embeds as a card.
In a text, {roles} lists the roles and {server} is the server's name; a picture can be {server.icon}.
Change the message later and Dexy edits it in place. A message Dexy didn't write (an attached one) keeps its text: the editor says so, and only the emojis, roles and rules can be changed.
Emojis and roles#
Each row is an emoji, a role and an optional description (up to 100 characters). The emoji can be any emoji or one of your server's own; each emoji and each role once per message. Reactions go under the message in the order of the list.
Roles Dexy can't hand out (above its highest role, a bot's own) are greyed out, and so are roles already on another reaction-role message. Roles with dangerous permissions are flagged: Dexy asks you to confirm before anyone can get one by reacting.
d!rr add 1 🎨 @Artists Drawing and design
d!rr remove 1 🎨
d!rr add 1 🎨 @Artists Drawing and design
d!rr remove 1 🎨
Live in Discord
Live in Fluxer
Modes#
The mode decides what a reaction does. Try each one in the editor's preview, or on Try Dexy.
| Mode | Reacting | Taking the reaction off | For |
|---|---|---|---|
| Normal | Gives the role | Takes it away | Anything members pick freely |
| Unique | Gives the role and takes the message's other roles away (and their reactions) | Takes it away | Colours, pronouns: one at a time |
| Verify | Gives the role; the reaction goes away | Nothing | "I've read the rules", one-way |
| Drop | Takes the role away; the reaction goes away | Nothing | Giving a role up |
| Reversed | Takes the role away | Gives it back | Roles everyone starts with, like pings |
| Binding | Gives the role if they have none from the message yet; the reaction goes away | Nothing | One permanent choice, like a team |
| Limit | Gives the role while they have fewer than the limit (1 to 30) | Takes it away | "Pick up to three" |
| Locked | Nothing; the reaction goes away | Nothing | Closing it for a while |
| Temporary | Gives the role for a while (1 minute to a year); reacting again starts the time over | Takes it away now | Event roles, trial access |
When nothing can change (a full limit, a binding pick already made), the member's reaction is taken off so the message shows what they really have. Roles from temporary ones show on Auto Roles ▸ Temporary roles, and when one runs out its reaction comes off too.
d!rr mode 1 unique
d!rr mode 2 limit 3
d!rr mode 3 temp 1d
d!rr mode 1 unique
d!rr mode 2 limit 3
d!rr mode 3 temp 1d
Live in Discord
Live in Fluxer
Who can use it#
- Only members with one of these roles can pick up roles: like Verified. Empty: everyone can.
- Members with one of these roles can't pick up roles: like Muted.
- Telling members (off by default): after each reaction, Dexy tells the member what they got or lost, or why nothing changed. Pick By DM (members with closed DMs just don't get it) or In the channel: a message that mentions only them and deletes itself after a few seconds (2 to 120, 5 by default). When they get a role and When they lose one replace Dexy's words with yours;
{role}is the role,{user}mentions the member and{server}is the server's name.
On Discord, buttons and the menu always answer privately, so only the member sees what happened. Your words are used there too, and the setting above is for reactions.
Dexy BOT Today at 9:41 PM
✅ Dexy Lounge: you now have Gamers.
Reactions from members a rule keeps out are taken back off.
Where it goes#
- Post in a channel: Dexy posts the message in the channel you pick. Moving it to another channel posts it there and deletes the old message.
- Attach to a message: paste the message's link (right-click it in Fluxer, then Copy Message Link). Dexy adds the reactions under it and leaves its text alone, so reaction roles can sit under your rules.
d!rr attach https://web.fluxer.app/channels/123/456/789 ✅ @Verified
d!rr attach https://web.fluxer.app/channels/123/456/789 ✅ @Verified
Live in Discord
Live in Fluxer
In the message's channel Dexy needs Add Reactions, Read Message History and Manage Messages (to take reactions off), plus Send Messages and Embed Links to post. Dexy also needs Manage Roles, with its role above the roles it gives. The setup check and d!diag check them while Reaction Roles is on.
Cooldown#
Each member can make a few role changes with reactions in a short time: 5 every 10 seconds by default (change it under Cooldown on the Reaction Roles page). Past it, their reaction is taken back off and nothing changes, so reaction spam can't flood the role changes. It's per member, across every reaction-role message.
Self-healing#
Reaction roles look after themselves while the module is on:
- A reaction of Dexy's that someone took off is put back, and so are reactions cleared from the message.
- A message Dexy posted that's deleted is posted again; an attached one whose message is deleted is detached, and its row says so.
- A server emoji that's deleted is flagged on its row, which stops working until you pick another emoji.
- Reactions that aren't one of its emojis are taken off.
After a restart (or when Dexy was offline for a while), each reaction-role message is checked once when Dexy is back: a message deleted meanwhile is posted again (or detached), Dexy's missing reactions are put back and deleted emojis are flagged. On messages in verify, drop, binding and locked mode, where Dexy always takes a member's reaction off, reactions members added while Dexy was away are answered then, like live ones (up to 50 per message). In the other modes a reaction stays on, so Dexy can't tell a reaction added while it was away from a role a moderator took off: nothing changes, and a member who reacted while Dexy was offline takes the reaction off and adds it again.
Rows that need a look have a red dot on the Reaction Roles page. Repair (the 🔧 on a row, or d!rr repair) checks one now: it adds missing reactions, brings the message up to date and posts it again if it's gone.
Live in Discord
Live in Fluxer
Switching it off#
With Reaction Roles off (d!modules disable reactionroles, or the switch on its page), reactions give and take no roles and Dexy stops putting things right by itself; the messages stay where they are, and you can still set them up. Temporary roles from them still end on time. Auto Roles has its own switch: turning one off leaves the other alone.
Who can manage it#
Every Reaction Roles command needs Manage Roles. Dexy admins can always use them, and so can roles with the autoroles role permission (on the dashboard: Manage auto & reaction roles), which opens both Auto Roles' and Reaction Roles' dashboard pages. Every change is in the audit log under Auto & reaction roles.
In chat#
d!rr lists the reaction-role messages; its other name is d!reactionroles. Each has a number (#1) the other commands use.
d!rr delete 2
d!rr delete 2
Live in Discord
Live in Fluxer