Each server has a purpose. People usually join servers because they are seeking a community built around that purpose whether it be in pursuit of more knowledge about a certain topic or for befriending those with a shared interest. After all, a servers’ purpose is the main reason why members keep coming back to check the server and participate. As a staff member, it is your duty to help provide up to date information to your members as well as providing safe spaces for them to talk about it. By not keeping your members informed you may inadvertently exude the feeling that you don’t particularly care about the server topic and, consequently, the community itself.
Before we continue, we must define each of the terms mentioned in the heading of this section. Keep in mind that these are not strict dictionary definitions, but ones that are more fitting for the topic of managing a specific community as they cover the different messages a moderation team may share with their community.
News consists of recent updates regarding the focus topic of your server.
Some examples of newsworthy updates would be:
These are short and simple posts that keep everyone informed about things regarding the main topic of the server. Posting news should almost always be done as soon as possible and without biased opinion. The posts in #News should not be meta- that is, about the running of the server itself and not the topic in specific.
Updates are posts about changes in the server itself. This usually refers to changing rules, adding or removing channels, updating roles or permissions, and more. If it’s a change to a moderation system or the server itself, it is best to flag it for your users with an update post. These posts should always be short and comprehensive. It is very important for all your members to understand these changes so they don’t break rules after an update because they did not understand what you wrote. It also helps maintain transparency between the moderation team and the users.
Updates should be posted as soon as possible, but since you are the one deciding when they come out, you can time them in a way to post multiple updates in a single announcement post.
Announcements are usually larger posts that cover several updates and other server related things that you would like to post about on a larger scale. They should always contain information that is highly important to the community. Alternatively, they can be smaller in size if you’d like to post about one specific thing due to the timing of it, but be careful about which pings you use in that case. An example of this would be celebrating a server milestone by taking a look back on the history of the server, announcing new changes to accommodate growth, and sharing a giveaway in celebration of the new milestone all at once.
We recommend trying to keep these different types of posts organized into separate channels. This is done to avoid too much cluttering and makes things easier to find for both your moderation team and your members. Your larger posts, as well as server updates, should usually be focused into your main announcement channel. Having a separate channel for news is helpful for those using your community as an information source and not an engagement hub. Make any other announcement channels on a case-by-case basis. For example, if you host a large number of events, make a separate channel for event announcements.
The usage of pings is usually implied for all announcements. What roles you will ping in your post depends on who the announcement is meant for. That being said, you should have a role for each ping you need. These roles should be listed visibly somewhere on the server and easily selectable or assignable. Having opt-in roles allows members to select what they want and don’t want to be notified about. For example: if you post a lot of announcements for a specific event- let’s say karaoke- make a karaoke role for the members who wish to be notified for it.
In the same sense, make a related news role for people who want to get notified about the news on the server. This especially applies if you have a large number of these posts coming out frequently, since not everybody likes getting pinged constantly.
The most important ping in the server would be @everyone. This ping should only be used for large announcements and updates that do not happen very often. Do not use this ping unless it is about something extremely important for the server that everyone actually needs to see. For a more time-sensitive ping that requires immediate attention of those actively present, we recommend using an @here ping instead of an @everyone ping. Overusing either of these pings will likely anger your community. However, it is important to note that most users do not like usage of these pings at all despite them being very necessary from a moderation standpoint, and such pings can often lead to a small group of users leaving the server whenever utilized. Do not allow this to deter you from their usage, this is only noted to help you determine necessary usage for @here and crucial usage for @everyone. As such, the larger your community, the less often you should seek to use these pings.
If used correctly, pings will keep people, both active and inactive, coming back to your server to check these posts. Keeping your community updated is always highly appreciated by the members and could increase server activity over time. However, it is also important to note that you should not be discouraged by some quieter members exiting the server in response to these pings.
*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.
Events are activities where both members and moderation staff socialize. What’s most important about the events is that everyone has fun! Usually you won’t see people communicating in multiple channels. Most users will focus their activity into one or two channels dedicated to the event. Events can serve as a way to bring users together in a single place that may dedicate their time within the server to different channels and allow them to meet new people. A user who only focuses on the creative channels in a server can quickly find themself befriending a bug hunter who mostly focuses on programming within the server, and bringing everyone together to have fun is what community events are all about!
There are a few things you should keep in mind when hosting an event:
These are just some of the basic and simple things to get you started. For a more detailed guide to hosting events on Discord, see here.
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.
Contests are a good way of allowing your members to show off their skills. It’s a great way to give creators a platform to share their talents with the world. Contents can also allow participants to feel a sense of contribution to their community--a way for them to feel like they have done their part in building the server.
A great example of this would be art contents for emojis, profile pictures of self-hosted bots, the server icon, and even the server banner. Artists can give back to the community and gain exposure, and the community can show appreciation to artists.
So what are the most important things to know when planning a contest?
Giveaways are a great and simple way to reward your community. People always like free stuff, so you don’t even need an extra reason to justify hosting a giveaway outside of someone wanting to!
One thing to keep in mind when hosting giveaways is transparency. One of the best ways to show that a giveaway is truly random is the utilization of a giveaway bot. There are a lot of bots out there that can fulfill this need, but here are a few to consider if you’d like to get started:
Using bots allows your users to easily participate without questioning the authenticity of winner selection.
What can I give away? Well, pretty much anything that is legal to give away to someone. Always be sure that you have the reward ready before hosting the giveaway. It really doesn’t matter how big your giveaway is. Even small things can make someone’s day better, like a custom role, a piece of art from a beloved community member, or a month of Discord Nitro! Try to keep things in digital format. Sending a physical object can be problematic and expensive due to communities being mostly international and also requires sharing of personal information that servers members of minors may not be comfortable with.
When do I host my giveaway? Your moderation team and your server can host giveaways as often as you like. You don’t require an excuse to host a give, but any special celebration, such as a server member milestone or server birthday are common times for giveaways to pop up. If allowing a server member to host a giveaway, it is still the moderation team’s responsibility to ensure a smooth and scam-free giveaway experience for the winner.
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 you may know, not everyone is capable of contributing to the server through artistic methods like in the case of contests. Still, there are plenty of users in the server who are looking to contribute in different forms. By granting certain permissions to select roles, you can create an environment more suitable for this.
Task roles are roles that have specific permissions granted to them pertaining to select tasks in the community. These permissions are for specified purposes other than moderation as it is still imperative to make sure you don’t give the wrong permissions to the wrong people.
Task roles can be very handy when you have some sort of manual work that can only be done with certain permissions, but also when your staff team is shorthanded. It helps ease the load on your moderators, while allowing members to help with the server and work directly with the moderation team. Additionally, giving users some level of permissions helps close the “power gap” between staff and regular members. It shows people that there isn’t too much difference between the moderators and everyone else, aside from the workload and the hoisted role.
One of the most common examples of a task role would be an Event Manager. These are users who organize events for the server. Staff can’t always set enough time aside to host events, and even if they could, they would run out of ideas at some point. Remember that you have a community with a certain number of people, who potentially have endless ideas on what events you can host. Allow these users to express their ideas and host them as well. Having multiple organizers, along with a staff member to oversee the schedule, can create a rotating event cycle that doesn’t place too much burden on any specific person.
If you begin to utilize task roles in your community, make sure that you carefully select those whom you are granting permissions to.
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.
It’s important for the staff to show their trust in the community and allow them to give their honest opinions on server matters. Suggestions and feedback are a great way to achieve this. Just like with events, your members could potentially have endless ideas on how you can improve the server. Listening to your members matters. They’re the ones who make up your community, without them none of what you are doing would even be possible. That’s why having a channel for suggestions and feedback is helpful.
There are a few thing to keep in mind when it comes to suggestions and feedback:
Be sure to make it clear that if people are uncomfortable with giving this feedback in an open channel setting that they can send their concerns via DMs or another private outlet of your choosing. Approach that feedback with the same points in mind. With all these points in mind, you should be able to maintain a healthy relationship with your members.
As simple as it may sound, this is one of the most effective ways of engaging with your community. While members join your server for its purpose, they often only actively chat and stay for the community itself. Moderators, as leaders of the community, should put their best foot forward by actively talking in the chat, both text and voice, themselves. This is the easiest way to showcase your care and interest.
As a moderator, it’s helpful to get to know your members. Befriend them, be open with them, have fun. When you get closer to your members, they will trust you more. Of course, as a leader, you need to lead by example for your community and show good behavior in chat. When it comes to the rules, it’s okay to be forgiving, but do not avoid dealing punishments for some offenses due to friendly bias. Present yourself as just another member of the community, but do not forsake your role as a moderator.
Another thing you should consider is having your direct messages open to your members. Sometimes they won’t be comfortable with saying something in a public chat. That’s why you need to give them an option to message you directly. Be willing to let members rely on you even when it comes to topics they don’t feel like talking about in public. This is a sign that you are trusted. Do not misplace this trust. Once it’s gone, it can be difficult to earn back.
You should also consider reaching out to your members personally when you feel something is wrong. They are an important part of your community, so show that you care. Sometimes this can have a great impact, not only on their time in your server, but their lives in general.
Casual chatter not only helps make your community more tight-knit, it also builds great relationships. What you may not realize is that you could be making some life-long friends in chat as a moderator, too.
There are many different ways you can go about engaging with your community which makes it a fun and easy task for moderation teams. Open communication and consideration of users’ feelings will result in maintained trust in your moderation team and a healthy server environment. Every server is different and members require certain things from every moderation team, but communication is key to cultivating a positive space that can continue to thrive for years to come.
Take the Discord Moderator Exam!Take the Exam