Lots of new opportunities are created for schools who make use of a private Discord server. One of the biggest opportunities is presented in a cultural shift away from formality and closer to general bonding. Gone are the days of formal communications over e-mail and instead we have open chat discussions with teachers, fellow classmates, group project members, and even private one-on-one’s (similar to office hours!) when necessary.
In this section we seek to discuss the many ways that Discord can help virtual learning. Discord can function as a virtual classroom setting in ways that can generate new opportunities for continued and reliable teamwork while enabling new and exciting ways for students to connect with each other.
While certain permissions are essential to creating an environment that separates teachers and student private chats and subjects, a classroom environment acts as the overall hub for everything necessary from a full school, to a specific classroom, to separate groups working on projects, and even a variation of subjects being taught.
Simultaneously, a server can be set up to serve a variety of school-related functions including, but not limited to:
Discord naturally lends itself to communication in ways that allow students to help each other. If one student is stuck on an assignment, any student can answer their question or perhaps join them in a study session to work out the problem together. Schoolwork can feel less solitary, there is less of a reliance on teachers and aids, and students who may be taking the same subject in different classes can meet each other and help each other out. This also allows teachers to monitor such a space to gain insight as to where their students are struggling so they can adjust their lesson plans accordingly.
Interaction with each other doesn’t have to be limited to just typing in designated channels. Students can interact with each other and teachers while using subject specific audio and/or video channels as well, allowing them to have more personal interactions and cater to different learning styles. However, if you are using these channels to broadcast a lesson and not promote group work, make sure that you disable voice activity for students to avoid accidental noise from being broadcasted throughout your online classroom. This helps create a controlled environment for all involved in the virtual classroom space. An example about how to do this is below.
Teamwork is a necessary skill in educational settings and Discord’s platform is especially adept at helping to facilitate this. Students can use Group DMs to create private areas to communicate among group members to communicate about a project outside of designated school hours. If you’d like to oversee a groups’ efforts to make sure that everyone is contributing equally, you can also create private chat and audio channels in your school’s Discord server that are accessible only by teachers and students in a designated group project. In a remote teaching setting this allows the teacher to monitor multiple teams at once while being easily accessible to assist or help with any questions, reviewing, or general coaching that is needed for the assignment.
With the proper channel permissions, Discord can also allow several students to share multiple screens at once. This is ideal for multitasking and group work so that students can be assisting each other in group work in real-time without having to leave the comfort of their own homes.
*Unless you are using the channel description for verification instructions rather than an automatic greeter message.
If you want to use the remove unverified role method, you will need a bot that can automatically assign a role to a user when they join.
Once you decide whether you want to add or remove a role, you need to decide how you want that action to take place. Generally, this is done by typing a bot command in a channel, typing a bot command in a DM, or clicking on a reaction. The differences between these methods are shown below.
In order to use the command in channel method, you will need to instruct your users to remove the Unverified role or to add the Verified role to themselves.
Discord was created for housing online communities which sets it apart from other routes taken for e-learning platforms. Your students and staff will feel at home in the Discord user interface because it is easy to use and made for quick adaptation. The natural familiarity that many students may bring from their personal usage of the platform and even other similar platforms will reduce the friction of adopting into new virtual learning atmospheres and more easily help transition Discord into their daily educational routines.
A common complaint in larger classroom settings, both in person and virtually, is that the environment is impersonal. In a sea of many faces, it is understandable that a student may feel like just another number on the attendance roster. However, Discord’s premise of providing an easily built space meant for easy and informal communication can reduce this lack of personal connection and instead help students feel welcome, including, and easily engaged.
Markdown is also supported in an embed. Here is an image to showcase an example of these properties:
Example image to showcase the elements of an embed
An important thing to note is that embeds also have their limitations, which are set by the API. Here are some of the most important ones you need to know:
An important thing to note is that embeds also have their limitations, which are set by the API. Here are some of the most important ones you need to know:
If you feel like experimenting even further you should take a look at the full list of limitations provided by Discord here.
It’s very important to keep in mind that when you are writing an embed, it should be in JSON format. Some bots even provide an embed visualizer within their dashboards. You can also use this embed visualizer tool which provides visualization for bot and webhook embeds.
When creating your virtual classroom it is important to keep in mind what you want the purpose of your server to be. A server for a specific math classroom taught by Mr. Wumpus at noon everyday is going to be geared entirely towards education, whereas a more open-concept Algebra server that welcomes all students currently enrolled in the course under various teachers to have a more common meeting space while also being split into their respective virtual classrooms via permissions allows for antics in addition to education.
Educational settings can also be fun if you choose to build them that way. There is always fun to be had in a healthy community when the school day finishes, and providing this hang out space for students will allow them to not only bond but associate positive feelings with school. There can be spaces designated to help students study together in after school hours or perhaps come together to take a study break to play one of their favorite games. A music bot can be used to listen to music in an essay-writing sprint, and a leveling system can be used to reward students for participation. Community feelings lead to happiness, which can impact mental health and grading.
Discord also brings many advantages to educational arenas outside of the classroom. A server can be viewed as an extension of your physical campus to the Internet in an e-learning environment. Similar to a real-life campus, Discord is a meeting place for students and staff to chat, get to know each other, and build a stronger community in places they feel safe. Shy students may even find it easier to bond better in an online environment than a physical one which can lead to generating new friendships while also improving pre-existing ones. Students who perceive a welcoming environment and have positive feelings about their school and community will often get better grades because of higher motivations levels.
Interestingly, a further extension of a physical campus would be to an alumni association. While school related Discord servers are often for study tools or virtual classrooms, they can also serve as special places for alumni to connect after graduation. They can not only catch up with their old classmates, but they can mentor current students as well. Such a situation can be brought about via unique ideas like career fairs oriented towards advising current students about future career options by making use of a schools’ alumni network.
Even though this comparison is important for better understanding of both bots and webhooks, it does not mean you should limit yourself to only picking one or the other. Sometimes, bots and webhooks work their best when working together. It’s not uncommon for bots to use webhooks for logging purposes or to distinguish notable messages with a custom avatar and name for that message. Both tools are essential for a server to function properly and make for a powerful combination.
*Unconfigurable filters, these will catch all instances of the trigger, regardless of whether they’re spammed or a single instance
**Gaius also offers an additional NSFW filter as well as standard image spam filtering
***YAGPDB offers link verification via google, anything flagged as unsafe can be removed
****Giselle combines Fast Messages and Repeated Text into one filter
Anti-Spam is integral to running a large private server, or a public server. Spam, by definition, is irrelevant or unsolicited messages. This covers a wide base of things on Discord, there are multiple types of spam a user can engage in. The common forms are listed in the table above. The most common forms of spam are also very typical of raids, those being Fast Messages and Repeated Text. The nature of spam can vary greatly but the vast majority of instances involve a user or users sending lots of messages with the same contents with the intent of disrupting your server.
There are subsets of this spam that many anti-spam filters will be able to catch. If any of the following: Mentions, Links, Invites, Emoji, and Newline Text are spammed repeatedly in one message or spammed repeatedly across several messages, they will provoke most Repeated Text and Fast Messages filters appropriately. Subset filters are still a good thing for your anti-spam filter to contain as you may wish to punish more or less harshly depending on the spam. Namely, Emoji and Links may warrant separate punishments. Spamming 10 links in a single message is inherently worse than having 10 emoji in a message.
Anti-spam will only act on these things contextually, usually in an X in Y fashion where if a user sends, for example, 10 links in 5 seconds, they will be punished to some degree. This could be 10 links in one message, or 1 link in 10 messages. In this respect, some anti-spam filters can act simultaneously as Fast Messages and Repeated Text filters.
Sometimes, spam may happen too quickly for a bot to catch up. There are rate limits in place to stop bots from harming servers that can prevent deletion of individual messages if those messages are being sent too quickly. This can often happen in raids. As such, Fast Messages filters should prevent offenders from sending messages; this can be done via a mute, kick or ban. If you want to protect your server from raids, please read on to the Anti-Raid section of this article.
Text filters allow you to control the types of words and/or links that people are allowed to put in your server. Different bots will provide various ways to filter these things, keeping your chat nice and clean.
*Defaults to banning ALL links
**YAGPDB offers link verification via google, anything flagged as unsafe can be removed
***Setting a catch-all filter with carl will prevent link-specific spam detection
A text filter is integral to a well moderated server. It’s strongly, strongly recommended you use a bot that can filter text based on a blacklist. A Banned words filter can catch links and invites provided http:// and https:// are added to the word blacklist (for all links) or specific full site URLs to block individual websites. In addition, discord.gg can be added to a blacklist to block ALL Discord invites.
A Banned Words filter is integral to running a public server, especially if it’s a Partnered, Community or Verified server, as this level of auto moderation is highly recommended for the server to adhere to the additional guidelines attached to it. Before configuring a filter, it’s a good idea to work out what is and isn’t ok to say in your server, regardless of context. For example, racial slurs are generally unacceptable in almost all servers, regardless of context. Banned word filters often won’t account for context, with an explicit blacklist. For this reason, it’s also important a robust filter also contains whitelisting options. For example, if you add the slur ‘nig’ to your filter and someone mentions the country ‘Nigeria’ they could get in trouble for using an otherwise acceptable word.
Filter immunity may also be important to your server, as there may be individuals who need to discuss the use of banned words, namely members of a moderation team. There may also be channels that allow the usage of otherwise banned words. For example, a serious channel dedicated to discussion of real world issues may require discussions about slurs or other demeaning language, in this exception channel based Immunity is integral to allowing those conversations.
Link filtering is important to servers where sharing links in ‘general’ chats isn’t allowed, or where there are specific channels for sharing such things. This can allow a server to remove links with an appropriate reprimand without treating a transgression with the same severity as they would a user sending a racial slur.
Whitelisting/Blacklisting and templates for links are also a good idea to have. While many servers will use catch-all filters to make sure links stay in specific channels, some links will always be malicious. As such, being able to filter specific links is a good feature, with preset filters (Like the google filter provided by YAGPDB) coming in very handy for protecting your user base without intricate setup however, it is recommended you do configure a custom filter to ensure specific slurs, words etc. that break the rules of your server, aren’t being said.
Invite filtering is equally important in large or public servers where users will attempt to raid, scam or otherwise assault your server with links with the intention of manipulating your user base to join or where unsolicited self-promotion is potentially fruitful. Filtering allows these invites to be recognized, and dealt with more harshly. Some bots may also allow by-server white/blacklisting allowing you to control which servers are ok to share invites to, and which aren’t. A good example of invite filtering usage would be something like a partners channel, where invites to other, closely linked, servers are shared. These servers should be added to an invite whitelist to prevent their deletion.
Raids, as defined earlier in this article, are mass-joins of users (often selfbots) with the intent of damaging your server. There are a few methods available to you in order for you to protect your community from this behavior. One method involves gating your server with verification appropriately, as discussed in DMA 301.You can also supplement or supplant the need for verification by using a bot that can detect and/or prevent damage from raids.
*Unconfigurable, triggers raid prevention based on user joins & damage prevention based on humanly impossible user activity. Will not automatically trigger on the free version of the bot.
Raid detection means a bot can detect the large number of users joining that’s typical of a raid, usually in an X in Y format. This feature is usually chained with Raid Prevention or Damage Prevention to prevent the detected raid from being effective, wherein raiding users will typically spam channels with unsavoury messages.
Raid-user detection is a system designed to detect users who are likely to be participating in a raid independently of the quantity of frequency of new user joins. These systems typically look for users that were created recently or have no profile picture, among other triggers depending on how elaborate the system is.
Raid prevention stops a raid from happening, either by Raid detection or Raid-user detection. These countermeasures stop participants of a raid specifically from harming your server by preventing raiding users from accessing your server in the first place, such as through kicks, bans, or mutes of the users that triggered the detection.
Damage prevention stops raiding users from causing any disruption via spam to your server by closing off certain aspects of it either from all new users, or from everyone. These functions usually prevent messages from being sent or read in public channels that new users will have access to. This differs from Raid Prevention as it doesn’t specifically target or remove new users on the server.
Raid anti-spam is an anti spam system robust enough to prevent raiding users’ messages from disrupting channels via the typical spam found in a raid. For an anti-spam system to fit this dynamic, it should be able to prevent Fast Messages and Repeated Text. This is a subset of Damage Prevention.
Raid cleanup commands are typically mass-message removal commands to clean up channels affected by spam as part of a raid, often aliased to ‘Purge’ or ‘Prune’.It should be noted that Discord features built-in raid and user bot detection, which is rather effective at preventing raids as or before they happen. If you are logging member joins and leaves, you can infer that Discord has taken action against shady accounts if the time difference between the join and the leave times is extremely small (such as between 0-5 seconds). However, you shouldn’t rely solely on these systems if you run a large or public server.
Messages aren’t the only way potential evildoers can present unsavoury content to your server. They can also manipulate their Discord username or Nickname to cause trouble. There are a few different ways a username can be abusive and different bots offer different filters to prevent this.
*Gaius can apply same blacklist/whitelist to names as messages or only filter based on items in the blacklist tagged %name
**YAGPDB can use configured word-list filters OR a regex filter
Username filtering is less important than other forms of auto moderation, when choosing which bot(s) to use for your auto moderation needs, this should typically be considered last, since users with unsavory usernames can just be nicknamed in order to hide their actual username.
As mentioned above, Discord’s widespread usage for personal gaming and easy to use interface means that a lot of students could already use Discord in their free time or begin to adopt it into their lives after being introduced to it in a classroom setting. The person someone may present themselves as online can differ from who they are in real life. When given the opportunity to use a profile picture, set usernames and nicknames, and even statuses, things can get out of hand quickly. It may even be difficult for some teachers to identify which student is behind certain accounts if these expectations aren’t established immediately upon server creation.
With the likely change that a student might not want to use a picture of themself as their profile picture, it is important to establish server guidelines about what is appropriate to be in that photo. While some users may not be comfortable using their full name or even their first name in their username, set the expectation that everyone has to change their nickname in your private school-related Discord servers to their real name. On a related note, if a user is subscribed to Discord Nitro, they may also change their profile picture on an individual server basis. However, it's not required in order to use Discord on the whole. Our recommendation if a student is uncomfortable with using their real picture for their platform-wide account is to tell them to make a secondary account specifically for school where they can use a photo of themselves. With Discord's account switcher feature having a second account for this purpose is less of hassle. Finally, when students first enter the server, we recommend enabling Developer Mode to privately connect each individual User ID to a student should someone alter or change their identity/account information in the future. This could be done through the schools information management system, or just by using a spreadsheet.
It is also imperative to reiterate the boundary that you expect everything present in the virtual school ecosystem to be school appropriate. Features like profile pictures, username, and status are platform-wide features that appear in all servers a user is in. What is appropriate in some spaces may not be appropriate in school. Consider this ahead of time to establish rules around this and also punishments should this not be respected. It is important to keep in mind that Discord does have strict Terms of Service and Community Guidelines that state users aren’t allowed to use NSFW content and other forms of illegal content as their username, profile picture, and/or status. This will partly make sure the content on their profiles is acceptable to a degree. However, you may not be comfortable if a student is cursing in your virtual classroom and that can be dealt with accordingly by you.
One additional component not included in the table is the effects of implementing a verification gate. The ramifications of a verification gate are difficult to quantify and not easily summarized. Verification gates make it harder for people to join in the conversation of your server, but in exchange help protect your community from trolls, spam bots, those unable to read your server’s language, or other low intent users. This can make administration and moderation of your server much easier. You’ll also see that the percent of people that visit more than 3 channels increases as they explore the server and follow verification instructions, and that percent talked may increase if people need to type a verification command.
However, in exchange you can expect to see server leaves increase. In addition, total engagement on your other channels may grow at a slower pace. User retention will decrease as well. Furthermore, this will complicate the interpretation of your welcome screen metrics, as the welcome screen will need to be used to help people primarily follow the verification process as opposed to visiting many channels in your server. There is also no guarantee that people who send a message after clicking to read the verification instructions successfully verified. In order to measure the efficacy of your verification system, you may need to use a custom solution to measure the proportion of people that pass or fail verification.
Discord’s very purpose is to foster communication by bringing users an easy to understand interface that is adaptable to a variety of needs, thus making it a really useful modern tool for e-learning and virtual classrooms. With the right permissions, students can be brought into environments where they can not only learn, but also have fun in a virtual extension of their physical campus. Through utilization of a variety of ways to teach classrooms and communicate amongst groups, Discord naturally fosters teamwork and open forum discussions between students and teachers alike.
However, Discord is still a platform with millions of users exploring a variety of interests. It’s important to enter Discord prepared to handle students who may be using inappropriate media for school via platform-wide features like profile pictures, statues, and usernames because they are appropriate elsewhere. If you consider the logistics of creating a safe, school-appropriate environment and set expectations and guidelines upon entry, Discord is a great tool for your future educational needs!
Take the Discord Moderator Exam!Take the Exam