Kotbo 4 min read
Discord reaction roles: let members pick their own roles
Reaction roles are a message where each member clicks to give themselves a role: pings, games, pronouns, region. Discord covers part of it with Onboarding, and a bot handles the rest in any channel. Kotbo uses buttons, which are more reliable than emoji reactions
Included in every plan, with a 15-day trial and no credit card
What Discord does on its own
On a Community server, Onboarding asks newcomers questions and gives roles based on their answers. Members can change their picks later from Channels & Roles. It’s native and free, with a few limits
- Community has to be turned on for the server
- The questions live in Onboarding, not in a message you place where you want
- No role based on the member’s profile, such as the server tag
Buttons or emoji reactions?
Older reaction role bots read the emojis added under a message. Kotbo posts buttons, and you feel the difference in use. Each click is checked against the saved panel: a button whose role was taken off the panel says it’s no longer active instead of handing out that role
A reply on every click
The member gets a message only they can see, confirming the role was added or removed. With a reaction, they can’t tell whether the bot saw it
A readable label
Each button carries text, an optional emoji and a color, instead of an emoji to decode
No reactions to clean up
The message doesn’t pile up hundreds of reactions, and nobody can add an off-topic emoji to it
Creating a role menu with Kotbo
It’s set up on dash.kotbo.fr, in the Reaction roles page. The Discord preview updates while you build it
-
Create the roles on Discord
In server settings, create your roles, then move Kotbo’s role above them: a bot can’t give a role higher than its own
-
Deploy a panel
In the Reaction roles page, click Deploy a Panel, give it a title and pick the channel
-
Add the buttons
For each button: a label, an optional emoji, the role and its color. Discord allows up to 25 buttons per message
-
Pick the mode
Toggle lets a second click remove the role, Grant only keeps it. Each button can also have its own mode
-
Publish
The message goes out on Discord. You can edit it later from the dashboard: the message updates in place, unless you move it to another channel
Discord autorole: roles members don’t pick
Not every role is picked by hand. Kotbo also gives roles with no click, from the Welcome and goodbyes page, Auto roles tab
On join
A role given to every new member as soon as they join
Server tag
A role for members who display your server’s official tag next to their name, removed when they take it off. Discord itself reports who wears it
Keyword in status
A role for members whose custom status or activity contains a keyword, such as your invite link
On reaching a level
The Levels module hands out reward roles when a member reaches a milestone
Read the article on levels
A role menu in the welcome thread
If you want roles picked right on arrival, Kotbo’s welcome thread ends on a menu as buttons or a dropdown. Each page of the menu can add, remove or toggle a role, or make it exclusive: picking one team then removes the others in the same group. In button style, a page can also be a link that opens a channel or a website directly
Giving a role to several members at once
For staff, a slash command does it by hand, on several members in one go
/role add role:<role> membres:<mentions>- Adds the role to every mentioned member. Limited to members with the Manage Roles permission
/role remove role:<role> membres:<mentions>- Removes the role from the mentioned members