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:
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:
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:
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:
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.
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:
for Game Design
for Programming
for Graphics and/or Animation
for Music
for Sound Design and/or Voice Acting
for Writing and/or Narrative Design
for Coffee Making
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:
for they/them
for she/her
for he/him
for no pronouns
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:
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:
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:
Help, I got an error!
First time I setup Zira, I forgot to grant Zira Read messages permissions and got the following error message:
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:
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@Jammer Game Designer
If it’s successful, Zira will approve and create the reaction:
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:
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.
This was an exercise, but your instructions were perfect/ Thank you 🙂
LikeLiked by 1 person
Thank you! I’m happy you found them helpful! 😃
LikeLike
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!!
LikeLiked by 1 person
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!
LikeLike
This was SUPER helpful! Thank you so much!
LikeLiked by 1 person
You’re welcome! Happy to help!
LikeLike
Do you know how we as a discord server creator can see what roles members have chosen?
LikeLike
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!
LikeLike
This is so helpful :))
LikeLiked by 1 person
the z/channel wont work for me
LikeLike
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.
LikeLike
Easy to follow instructions made setting up the bot a breeze! Much easier for the community to sort themselves for joining games. Thank you!
LikeLike
You’re welcome! Happy gaming!
LikeLike
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
LikeLike
Interesting – sorry it took a long time to reply. Unfortunately I don’t know why it does that – it could be a bug? It sounds a bit like somehow it’s created a toggle-type role instead of a normal role. https://docs.zira.bot/en/commands/role/toggle
LikeLike
thank you so much for this! it helped a lot :DD
LikeLike
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!!!
LikeLike
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.
LikeLike
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.
LikeLike
Hello, thank you for the guide! It was super easy to read and follow and I got it working in my discord server!
LikeLike
Hi! Thank you for the tutorial and bot! How can you restrict the users to one reaction role though?
LikeLike
how can i add other emoji ?
LikeLike