Quick shout out to the team at Major League Hacking for teaching me how to set up a Discord server for HobbyHacks, TechTogether’s first virtual hackathon! Follow the steps below and you’ll have your Discord server set up for your own hackathon in no time.
This is the first article in a series of blog posts on how to use Discord for hackathons. In the next article, we will learn how to set up and use integrations with your Discord server.
I hate tutorials with no examples, so I’m going to be setting up an example Discord server for a fake virtual hackathon called HorseHacks in the following instructions.
Designate an organizer to be your Discord Master. This person will be the creator and sole admin of your server. They will have the highest server privileges.
Example: HorseHacks Director & Discord Master, Elias Holman
Create a Discord account. I recommend using the browser version of Discord. For the sake of this tutorial, it makes no difference. In Discord, each username has a number associated with it.
Example: Discord Username, HorsingAround#8710
Create a Discord server. For those who are familiar with Slack, this process is similar to making a Slack Workspace. Click the “+” button in the navigation bar on the left-hand side of the platform. Hit “Create a Server”, name your server, and add a photo. This will be the name and photo that everyone sees when they join and access your Discord server.
Example: Server Name, HorseHacks
Now, we are going to set up categories and channels. Categories make it easy to sort and organize channels. Channels are where conversations and announcements will take place. Discord channels operate like slack channels.
To create either a category or channel, click the name of your server in the top-left of the screen. Hit “Create Channel” or “Create Category”. You will be able to drag channels around under different categories.
You will be able to set special permissions for each category save you time on setting up permissions for each channel. We will get into that later.
Example: Creating an “Information” Discord Category that contains two Channels called “event-rules” and “event-announcements”.
Recommendation: I would include the following categories and channels in your Discord server.
Information: Event Annoucements (Zapier Calendar Integration), Event Rules (static, hackers can’t post)
Get-Help: Internal-Mentors(to handle incoming mentorship requests), Ask-A-Mentor(hackers can’t post, static form), Ask-the-Mlh, Ask-an-Organizer
Start-Here: Checkin-Desk (Zira Integration)
Fun-Stuff: Music-Chat, Pet-Chat, Jobs-Chat, Highschool-Chat
Ok, now is the part where Slack departs from Discord. In Discord, you can create roles within your server. These roles allow you to give each type of event stakeholder different server privileges.
This is where Discord starts to distinguish itself as a more powerful tool than Slack. It’s also where things get confusing for hackers and organizers.
I recommend creating the following roles for your event: organizer, hacker, and mentor. Any integrations you add to your Discord Server will also show up as a role, but don’t worry about that now.
To create a role, click the name of your server in the top-left of the screen. Then hit “Server Settings” and then “Roles” in the menu. You’ll see the role “everyone” already there, this is the default role for anyone that joins your server. You can add roles by hitting the “+” role next to “Roles”.
For mentor and organizer roles, I recommending toggling the “Display role members separately from online members”. It’s useful for hackers to see which mentors and organizer roles are online and available for assistance.
Don’t skip setting up permissions at any point in this process. Imagine hackers have the privilege to use the “@everyone” feature whenever they wanted. The Discord Server would be a notifications explosion.
Keep in mind that as the Discord Master, you will likely have the most server privileges than any of the roles in your Discord server. It’s always a good idea to test out your Discord server using dummy accounts assigned to different roles.
Example: Creating hacker, mentor, organizer roles in the HorseHacks Discord server.
Let’s set up channel-specific permissions. Ok, let’s say we want to make it so that only organizers can post in the “Event-Announcements” channel.
You want to right-click on the channel name and click “Edit Channel”. Then navigate to “Permissions” in the menu and add in all the roles in your server. Go role by role and set the permissions for each one.
In general, you’ll want to give mentors and hackers the ability to read and react to the manages. Organizers should be able to post messages.
To skip the process of adding channel-specific privileges, you can set up category-specific permissions, by following the exact same instructions but right-clicking the category instead of the channel.
Just click “Sync Permissions” at the top of the menu (only shown when you have multiple channels) when you are done.
Example: Setting up the Information Category in the HorseHacks Discord Server, so that only organizers can post in the Event-Announcements and Event-Rules Channels.
To invite hackers, mentors, and organizers to your Discord server, start by clicking the name of your server in the top-left of the screen. Then click “Invite People” and check the box “Set this link to never expire”. Copy the link and share!
Recommendations: In general, I would send the invite link to the Discord server several days before your event because it will take some time to get hackers acclimated to using Discord.
Check out the second article in this series, how to automate the check-in process for hackathon attendees with the Zira bot.
Have any questions? Leave a comment below and I’ll do my best to answer them!
Want to learn more tips on how to virtual plan a hackathon? Check out TechTogether’s resource page for hackathon organizers.