Setting up reaction roles and pronouns on Discord with Zira

I’m the Community Parent for Pride Game Jam HKI 2020, which means I am an admin on the jam’s Discord server. Discord is a communication platform, widely used by gamers, that is flexible, free, and has built-in support for video and audio chat channels.  It’s also popular among game companies as a way to build and communicate with fan communities. To me personally, it’s reminiscent of my teen days on the internet, of MSN Messenger, IRC and forums.

Since the game jam is jointly run on-site and online, the server will be used extensively during the jam, as the central hub for brainstorming and communication. Still, Discord can feel a little impersonal, and so we wanted to setup a way to let our participants choose roles and pronouns for themselves to make communication easier between participants and allow the users a level of customisation.  It took a little figuring out, so I was requested to write this documentation by my fellow organizers at Finnish Game Jam, so that it could be used for jams in the future.

The system is simple from a user perspective. In a dedicated Discord channel, #roles-n-pronouns, the participants click emojis to react on a pinned message, and the server’s bot Zira automatically assigns them the role(s) they chose. This is how it looks:

Screenshot 2020-08-17 at 19.07.56

The Basics

I followed this guide at Wiki-How: How to Add Reaction Roles to a Discord Server on PC or Mac, but since it took a few tries to get it all set up right, I thought it good to write some notes on the process while I still remember which parts of the Wiki-How were a little hard to grasp:

Creating roles and pronoun roles

In a Discord server, roles can be used to give users access to different channels. The roles we set up show up in the server listing as colourful usernames ordered by jam role, and the pronouns a user has chosen can be seen by checking the users info in the server participants listing. We allow multiple roles (and pronouns) for each user, but the hierarchically highest one (as of December 2020) defines the username’s color:

To add roles, you need to access your Server settings > Roles. Roles can be added by users with admin rights.

Once in Roles, click the little plus-sign (+) next to Roles to add whichever roles you want to allow your users to choose:

Screenshot 2020-08-17 at 19.31.30

Edit the name of the role, and assign it a color if you want. We decided to assign colors to the jam roles, but not to pronouns:

Screenshot 2020-08-17 at 19.32.31

If you wish for the role to show up as a group in the server’s online user listing, check Display role members separately from online members. On Discord, hierarchy of roles matters for permissions, but also for which order roles show up in, and which color a username will become. You can reorder your roles by dragging and dropping.

If you want to copy our role listing, these are the roles on the Pride Game Jam HKI server:

Screenshot 2020-08-17 at 19.19.50

Invite Zira

Click this link, and then click Invite to get Zira to your server: https://discordbots.org/bot/275813801792634880 .
Zira is a Bot designed for this use, and will handle the automation for you. Grant Zira all suggested permissions (this feels a little scary, we know).

Go into your Server Settings > Roles again, and drag Zira above the roles users can assign themselves in the Roles-hierarchy. Otherwise Zira will not have permission to assign roles.

Create:
1) a channel for role assignment and
2) a channel for bot control

In your server, create 2 new channels;

  • 1) #roles-n-pronouns (or similar name)
    • This channel is where users can react to messages to grab roles.
    • This channel will be accessible to your users
  • 2) #roles-setup (or similar name)
    • This channel is used to tell Zira what to do
    • This channel should not be accessible to your users
    • When creating your channel, check Private channel and allow access to your (admin) role and Zira, but not to your jammer roles.

Get your special developer powers on – read message and channel ID:s

In order to tell Zira in which channel users will react to messages, and which messages to react to, you need to be able to read channel ID codes and message ID codes.

To do this, first, go to User Settings > APP SETTINGS: Appearance > ADVANCED: Developer Mode, and check it to turn it on.

Screenshot 2020-08-17 at 19.56.59

User settings can be accessed next to your username, at the lower left of the screen.

Now you can copy message ID:s and channel ID:s by right clicking the channel name or message and choosing Copy ID (the lowermost option).

Write your role assignment message

In the #roles-n-pronouns-channel, create messages that describe your roles and which emojis correspond to them. You can use our messages as base:

– Grab a jam role –
React to this message to assign yourself a jam role based on what you would like to do at the jam. You can add multiple roles by reacting to many emojis, or reassign yourself at any time. Note that your username color will reflect only the latest role you choose:
:game_die: for Game Design
:gear: for Programming
:art: for Graphics and/or Animation
:musical_note: for Music
:loud_sound: for Sound Design and/or Voice Acting
:books: for Writing and/or Narrative Design
:coffee: for Coffee Making
:lion_face: for Other

– Pronouns –
React to this message to add pronouns to your notes. You can add multiple pronouns by reacting to many emojis, or change this at any time:
:one: for they/them
:two: for she/her
:three: for he/him
:four: for no pronouns
:five: for other

Pin these messages if you want to.

If you have a large server, we suggest you change your permissions for @everyone in the #roles-n-pronouns channel unless you want users to use the channel for other purposes. Press the cogwheel next to the channel’s name and choose PERMISSIONS on the left, and tick the following ones:

Screenshot 2020-08-17 at 20.00.39Screenshot 2020-08-17 at 20.00.49

Tell Zira which channel to read

Copy the channel ID of your #roles-n-pronouns channel (the first one, the one that users will use).

Then go into your bot control channel (#roles-setup, the second one) and write the following:

z/channel

This is a bot command. Paste the channel ID you just copied, for a message similar to the following, and press send:

z/channel 123456789101112

If it’s successful, Zira will let you know:

Screenshot 2020-08-17 at 20.08.58

If Zira does not reply, check that Zira is included on the channel, and has Read messages– and Send messages-permissions.

Tell Zira which message to use

Go into your #roles-n-pronouns and find your message for grabbing jam roles. Right-click and choose Copy ID at the bottom of the list that pops up.

Go back into #roles-setup, and type the following:

z/message

Then paste the message ID you just copied, for a message similar to the following:

z/message 123456789101112

Press send. If it’s succesful, Zira will let you know:

Screenshot 2020-08-17 at 20.14.43

Help, I got an error!

First time I setup Zira, I forgot to grant Zira Read messages permissions and got the following error message:

Screenshot 2020-08-17 at 20.16.07 If you get this error message, simply edit permissions in the channel settings. You might have to add Zira by clicking the plus next to Roles/Members and choosing Zira:

Screenshot 2020-08-17 at 20.17.22

Then check the Read Messages, Read Message History and Add Reactions-permissions.

Tell Zira about the jam roles to assign

Alright, now we get to the fun part! It’s time to add those emoji-reactions. This is done with an individual message for each role.

In the #roles-setup channel, type the following:

z/normal

Next in the command, add the emoji you wish to use as the reaction. Lastly, type @ and choose the role you wish to assign with the selected emoji. Press enter.
Here’s an example:

z/normal :game_die: @Jammer Game Designer

If it’s successful, Zira will approve and create the reaction:

Screenshot 2020-08-17 at 20.23.28

Go through this with each jammer role and each emoji. If you set them up identically to us, you can copy paste the following messages.

Note that you’ll have to do this individually for each role, and that the reaction emojis show up in the order you create them:

z/normal :game_die: @Jammer Game Designer
z/normal :gear: @Jammer Programmer
z/normal :art: @Jammer Artist/Animator
z/normal :musical_note: @Jammer Musician
z/normal :loud_sound: @Jammer Sound Designer/Voice Actor
z/normal :books: @Jammer Writer/Narrative
z/normal :coffee: @Jammer Coffee Maker
z/normal :lion: @Jammer Other

Next, setup the pronouns almost identically, but first tell Zira to switch which message ID to add reactions to. Copy the message ID of the pronoun message, and then give commands. If you have chosen the same setup we use, you can copy and paste these commands:

z/normal :one: @they/them
z/normal :two: @she/her
z/normal :three: @he/him
z/normal :four: @no pronouns
z/normal :five: @other pronouns

If all goes well, you’ll end up with something like this in your #roles-n-pronouns-channel:

Screenshot 2020-08-17 at 19.07.56

And that’s it! Good luck, and happy jamming! If you make a mistake, check the wiki-how guide (step 10) on how to remove a role.

25 thoughts on “Setting up reaction roles and pronouns on Discord with Zira

  1. Thank you so much for this!! I am enjoying following along with this and having roles (in our case, “interests”) has added a richness to our community server. I think the “which colour you get” has changed since this was written, it seems like you get whichever colour is higher on the list of roles. Or maybe that’s a setting somewhere and I missed it? Anyway! Thank you!!

    Liked by 1 person

    1. Hi, thank you Jess, and thank you also for letting me know! I updated the tutorial 😀 I suspect that has changed since I wrote this, since I remembering playing around with it for a while back in August (but it’s also possible I made a mistake). Now the server role settings in Discord even include the help text “Members use the color of the highest role they have on this list”, so I suspect there isn’t a setting to change it. Happy Holidays!

      Like

    1. Hi Sydney! Go into Server settings, and under User management press Members, and you’ll see a listing of all members on your server with the roles listed as well. At the top, on the right, you can choose a role in the drop down “Display role” to filter by role. Hope that helps!

      Like

    1. I’m sorry to hear that! If you made sure to add the channel ID to the command, and that Zira has Read messages and Send messages-permissions in the channel, I’m not sure what went wrong.

      Like

  2. Great thread thank you,

    Could you please tell me how you managed to react with multiple answers as you did under the “Grab a jam role” section, at the moment i can only react once if i click another it takes my first reaction away

    Like

  3. This worked perfectly! When I had the idea of adding a self assigning pronoun bot to my gaming server, I thought it would be super complicated. Especially once I got to the part of the walk through where I had to turn on developer settings, but your instructions made it super easy. Thank you!!!

    Like

  4. Hello! Your instructions are great. Everything has setup just fine, however, when I react to the roles assigned and view my profile; I do not see the roles assigned. I am unsure as to how to fix this issue.

    Like

    1. Hmmm, I’m not sure if I understand the issue correctly – but perhaps this is because Discord roles are server specific. So the roles only show up in the specific server’s user listing, or when you click on your username on a message in the server you have a role in.

      Like

Leave a comment