How to Create Dropdown Reaction Roles on Discord

Roonie
Netcord Articles
Published in
6 min readAug 24, 2022

We’re used to Reaction Roles and Button Roles by now, but what if I told you that you can now create self-selectable roles using the recently added Dropdown Menus feature. Don’t worry if you get confused, I’ve included screenshots and screen recording GIFs to help you keep track of the steps. Let’s jump into it!

So far, we know of two public bots that are able to support self-assignable roles through Dropdown Menus: Reaction by Auttaja and Sapphire.

It’s worth noting that Dropdown Menus can be coded into Custom Bots utilising Discord.js v14 or later. Discord.js requires Node v16.9.0 or higher

Throughout the duration of this tutorial, I will be showing you how to set this up using Sapphire, as I’m personally more experienced in using Sapphire for this purpose. If you’re using Reaction by Auttaja, check out their documentation here.

Step 1: Setup

All the requirements for a reaction or button based system still stand with Dropdown Menus; there’s no fancy permission bypassing going on.

・Make sure the bot’s role is above the roles you wish to assign with the system

・Ensure the bot has the MANAGE ROLES permission, or ADMINISTRATOR so it can physically give the roles.

First things first, we need to create the actual dropdown menu that will house our roles. To do this, navigate to Components on the dashboard sidebar

It will look pretty barren at the moment, but that’s all about to change.

Next, select the text box under Custom select menus, enter the name for your selection menu and hit Create.

The next phase of creating a Dropdown Menu Reaction Role is to actually add the roles that you want in your menu. To do this, simply click the name of the menu you just created, and use the Add Option button to add in your roles.

Then, rename the default Option 1 to something more memorable. We’re then going to click the + icon and select the “Toggle Roles” option. Finally, select the + on the menu that will pop up and select the roles that you want the person to receive or remove when they select that option.

Remember this Components page, we’ll be back later!

Step 3: Creating Our Message

Head over to the Messages tab on the sidebar, it’s time to create our messages.

Message 1: Role Selection Message

Similar to how we created our Menu Options, you simply type in a memorable name in the text box under Templates and hit Create. However, unlike our Component Options, this box does not support capitalisation.

Next, we’re going to click on our new template and we can edit the message. Sapphire supports the creation of embeds and plain messages and can post through the bot itself or webhooks.

For the sake of speed whilst writing this article, I’m going to use a basic plain message but you can take as much time as you like to create a pretty embed, or the perfect plain message.

Head over to the Edit tab and select the default text by using CTRL + A. You can simply start typing text for a plain message or select the + Embed button to add an embed with an interactive editor. You can even use the green Load button to paste in a message link and easily migrate your old message into Sapphire.

We can now use the + Action Row button to add our menu we made earlier to our new message. After clicking + Action Row, click + Select Menu and move onto the next step

This is where it starts to get slightly complicated, so follow along carefully and pay close attention to my screen recordings.

Firstly, click the settings cog found next to the “Placeholder” text. Use the “Select an action” dropdown menu to select the Component we created earlier.

Also, while we’re here, ensure to set the “Max. Selections” setting to the number of roles you have in your menu, 3 in my case.

Next up, we can adjust the text and emojis to make it look nice and describe each role. Again, spend as much time as you like to make this look up to your standards.

Once you’ve finished making the menu look aesthetically pleasing, we need to bind each role to an option. To do this, select the settings cog next to each row and select the role that matches your description.

Onto Step 5, we’re now ready to send our message!

Step 5: Sending our Role Message

To send your message, head over to the “ Use” tab of the message editor. Click the handily labelled “Click here to select a channel” button to select your channel and then simply click Send

Step 6: Creating a Confirmation Message

We need a way to let users know their roles got applied, right?

Create a new message template called “Confirmation” or something similar. Then, we’re going to add an embed with the following text:

Title: ${successemoji} Roles Applied Successfully! ・${rolesremoved} removed

Body: ・${rolesadded} added

Step 7: Enabling Confirmation

For our last and final step, we need to head back to the Components tab and click our Select Menu once again. For each role, we want to add the Send Message option and choose our Confirmation Message (make sure the Ephemeral toggle is set to on)

Hit save and you’re done! We can now test our our new dropdown menu

Step 8: Testing

Now you’re free to click each option to your heart’s content to ensure your new system works!

It’s worth saying before I roll the outro, if you encounter any issues, feel free to ask in Sapphire’s support server, or the Netcord server. You’re more than welcome to DM me too @EpicOverlord#9999 on Discord and I can provide more support if you want. Peace out ✌️

That’s all for today, hope you enjoyed today’s article. Make sure to join our official Discord server to discuss further on this topic or suggest new articles!

Article written by EpicOverlord

Originally published at https://netcord.site on August 24, 2022.

--

--

Roonie
Netcord Articles

Your local Discord enthusiast | Founder and CEO of NetcordHQ