Setting up Discord for Office Hours

Matt Spencer convinced me to try using Discord for office hours this semester to support students during remote instruction. I used Discord for a class this summer but didn’t play an active role in the server I created and mainly let students do what they wanted. It didn’t get a lot of traffic since I also was using Piazza and had separate office hours via Zoom.

This time around I’m going to hold office hours using Discord in addition to using it as a Piazza replacement. Advantages:

  • Discord can be the centralized place for both asynchronous and synchronous participation: students can message and voice/video chat with each other synchronously, or they can also peruse message histories within text channels and catch up on conversations by previous students.
  • One can pop in and out of different text and “voice channels” (really video+voice+screen share) very easily. So I can have a group of students talking about Problem 1 and another group talking about Problem 2 and I can pop back and forth easily.
  • Also, I like that students don’t need to install the desktop client. And since many students have been using Discord, they will already have accounts. That reduces the friction to enrollment and usage.
  • Very fine-grained controls for who can do what.
  • Free.

Some drawbacks are that Discord has a very steep learning curve and overtones of a “gamer” culture that might not be super inviting to everyone. I’m trying to mitigate those things by (1) recording the steps that I took to set up my Discord server here (maybe someone out there might find it helpful?) and (2) really be explicit about the norms of participation in the server.

If you’re not familiar with Discord, you might just try watching some videos or trying it out a bit.

After account creation with Discord, I used the following steps to set up my Discord server. I am using Carl-bot to require users to agree to a set of rules before being able to access the server. The instructions are at a rather high level because Discord has so many different buttons to tweak everything and these are liable to change in the future so I’m avoiding specific settings. I encourage others to peruse all of the settings.

  1. Create new channel using built-in template “Study Group >> For a club or community”. Choose an icon to help others easily identify the server in case they belong to multiple servers.
  2. Set up your text and voice channels. (See my welcome message below.) In the channel #welcome-and-rules I added my welcome message and rules that users have to agree to to gain access to the server. Those are reproduced below.
  3. Turn on Developer Mode (under User Settings >> Advanced), if you haven’t already done so. This will enable overrides of permissions for channels. Then go to the #welcome-and-rules settings and under Permissions set View Channel and Read Message History to enable and Send Messages to disable. (This allows users who have not yet accepted the rules to still be able to see the rules.)
  4. Add Carl-bot to your server by browsing to and clicking on the Invite link at the top. You’ll have to choose which server you’re going to add Carl-bot to.
  5. Back in your server, set up roles (under Server Settings).
    • @everyone is the starting role for new users. I gave these users zero permissions except for the ability to Change Nickname.
    • Students is the role that students will have, after they agree to the rules. They need to be able to see channels, read and post messages, etc.
    • TAs is the role for teaching assistants. I chose to give them to ability to mute other users, change nicknames for other students, kick students off the server.
    • Remember to reorder your roles so that Carl-bot is higher than Students. This enables Carl-bot to have the ability to set users to the Students role.
  6. Now time to set up Carl-bot! (I followed the instructions here
    • First find the message ID for the message in #welcome-and-rules that will contain the emote that lets users accept the rules. (This is message #3 below.) Right-click that message to get its message ID into the clipboard.
    • Then go to any text channel and type
      ?rr add #welcome-and-rules [messageID] :ballot_box_with_check: Students
      This command will add the emote :ballot_box_with_check: to that message, and once the user clicks on the emote, they will be given the Students role.
    • Then type
      ?rr verify [messageID]
      This command will set that message as the one that will verify users.
    • Once you get confirmations that it worked, you can delete these messages to keep things tidy.
  7. (optional) I set up a test account and used that to test if everything is correct.

Here are the three messages that I posted in #welcome-and-rules (based in large part on Matt’s post).

Message #1:

Welcome to the E72 Spring 2021 Discord Server!

This is a place where you can chat with other students, TAs, and instructors about E72.  If you're new to Discord, please check out resources like

This server has a bunch of different channels to organize our conversations:
#office-hours is a text channel that we'll watch when one of us @TAs or @Instructors is available for office hours. This is for live Q&A help. We'll also be hopping in and out of various voice channels as needed.
#skillz is for discussion of the weekly skills problems
#hw1-3 is a text channel for discussing Homework 1 Problem 3. (Generalizes to #hwx-y.)
#off-topic is for everything else non E72-related
_ _

Message #2:

Here are some ground rules to help us make this a welcoming, supportive space for everyone in E72.  You will need to agree to these rules before you can participate on this server.

1. Set your Nickname to be your first and last name. Feel free to add pronouns if you like. 
2. Post messages in the appropriate channels to keep things organized. Feel free to suggest new channels!
3. Remember that you're posting in a semi-public place where comments can be read by others. Consider the racial/gendered dimensions to comments you post. (Would someone with a different identity than you see the comment in the same way?) Also, avoid comments that could be construed as mean-spirited or hurtful, even if they are consensual jokes between friends. Positive, encouraging messages are greatly appreciated!
4. Let's keep this a PG-13 space.  Save your spicy language and images for other venues.
5. Use the /spoiler tag if you're posting information about a problem that others might not yet be ready to see. (See Using the /spoiler tag will cause your message to be greyed out. If you see a message like that, just click or tap on it to see the message. Do not post answers to homework questions here, even with the spoiler tag. 
6. We created this server to encourage students to collaborate with each other. However, that collaboration has boundaries, beyond which are plagiarism and other forms of academic dishonesty. Review the syllabus for more details or ask an instructor if you're ever unsure about something.
_ _

Message #3: (This is the one whose ID you need.)

IMPORTANT:  All new users to this Discord server must read these guidelines and agree to them before they are allowed to use the rest of the site. Please click on the check mark below once you've read the guidelines and agree to them.

And here’s what it looks like for new users.

Once a new user accepts the invitation to your Discord server, they’ll need to click on the blue check box to accept the rules. Then, Carl-bot will change their role from @eveyrone to Students, enabling them to be able to see all of the other text and voice channels.

Note #1: As Matt mentioned, it is strongly recommend for all students and instructors to turn off the items under “Rich Presence” in User Settings >> Privacy & Safety. This will disallow others from being able to see what games you’re playing while you’re using Discord.

Note #2: At this point, I am not purchasing “Nitro” to “boost” my server. We’ll see how the default audio/video transmission speeds work for everyone. If we need to increase those then we might pay to increase those by “boosting” the server.

Note #3: Invitation link to this office hours Discord server will be behind password in our school’s learning management system so I’m not too worried about spammers getting access to it. If that is not the case for you, then stricter account approval and message moderation policies might be appropriate.

2 thoughts on “Setting up Discord for Office Hours

  1. As a student, the Math82 Discord was a fantastic resource, and very well-received!

    I think one of my favorite online moments was when I was chilling in a voice channel finishing up a problem and you hopped in to check in on me. Definitely unexpected but I felt very supported 🙂

    If you ever wanted, you could hang out and do a game night with your students. I’m sure it would be a lot of fun!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s