When moderating a community, it can be hard to keep up with all the DMs and pings you get regarding questions and reports from members of the server. One way to more efficiently organize these types of moderation reports is to use a modmail bot. In this article, we will explore what modmail bots are, how they can contribute to your server, and how to best use them.
Before we discuss how to use a modmail bot, we should explore what they are and what purpose they serve. Simply put, modmail bots are bots that allow users to contact the moderators of a server via a direct message with the bot. The bot then relays these messages to the entire moderation team by creating a private channel on the server visible only to the server moderators (also referred to as a “ticket”). Moderators can then use this private channel to have the bot relay their own messages back to the original user, all while keeping a record of the entire conversation within the server. Moderators can even discuss the ticket together in that channel without the user seeing since it requires usage of a specific command to send a message to the user.
There are numerous modmail bots online, each with their own styles and features. Some modmail bots can be self-hosted, while others are hosted publicly online! Here are some examples of modmail bots you can use:
It is important to do research into readily available bots to understand what your server needs and to choose whichever one best meets those needs. Please note, the content of this article is not endorsed by any developer or company related to the bots.
Before adding a modmail bot into your server, you should determine if you need one by considering the benefits and drawbacks of modmail bots. Let’s review the pros and cons of modmail bots to help with this decision.
One of the biggest benefits of having a modmail bot is better organization. Anytime a user opens a ticket, be it a question or concern about the server, instead of trying to figure out which moderator is online and available, a user can quickly DM the modmail bot and get in contact with the entire moderation team while also notifying the active moderators online. This also eliminates over usage of pinging the entire moderation team in public channels.
The next benefit of modmail bots is team discussions. In the above example, we’re using the ModMail bot by CHamburr. As you can see, a user has opened up a ticket that can be viewed by the entire moderation team. The team can then decide who wants to respond to the ticket, as well as discuss the ticket in question among themselves and more efficiently handle the issue. Team discussions are great for trickier questions that not everyone on the team might know the answer to.
In the image below, you can see an example of what moderators see from their side. The team can split their focus and knock out tickets depending on their priority, urgency, or even work together to pick up a ticket if another mod has signed off. The ability to read through moderator discussions and work together is a great team building exercise for moderator teams!
The next benefit of modmail bots are information logs. Most modmail bots have a modmail log that shows all of the modmail tickets that have been opened or closed along with useful receipts of the conversations that happened in the channels. This is great for administrators/lead moderators who want to see how cases were handled or want to catch up on what they’ve missed while offline. This also helps moderators look back on reporting history if an old report is continued at a different period of time or if they suspect someone is abusing modmail.
Another benefit of having a modmail bot is anonymity. Some modmail bots allow you to reply to the user anonymously which can decrease the chances of someone harassing a moderator, or other unpleasant situations that may come from having to action someone. Users can sometimes get upset or want to seek revenge after being banned, muted, or kicked from a server, so being able to communicate with someone and action them without revealing your identity is extremely valuable.
Moderators no longer need to act as the “middleman” between a user and the rest of the team. The moderator can speak on behalf of the team and use language such as “we” instead of “I” which can communicate to the user that it isn’t just one person handling their case, but rather the entire team while keeping their identity safe.
Something that you will notice when moderating is that there are usually some questions or concerns that come up frequently. Having a modmail bot can help you better understand what your community needs are and better visualize what the most frequent moderator tickets are about. With this knowledge, you can create custom quick-replies that you and your team can use to more efficiently resolve tickets! Having the same response to a scam DM that is used by all the moderators on your server makes responding to those types of tickets quick, easy, and consistent. Moderators can copy and paste replies, or use custom commands to reply with pre-made messages. Once you have set up quick replies, you can answer many tickets without needing to think of how to reply, making your replies consistent no matter who is responding to a ticket.
Here are a few examples of situations you can make tailored custom-replies for ease, speed, and consistency:
It is important to know the limitations and drawbacks of modmail bots before deciding if your community needs one. Let’s explore some of the ways these bots can be abused, as well as other negatives you should know about. Please keep in mind that every modmail bot is different, so you can work to choose, or even code, a modmail bot that may eliminate some of these drawbacks if you are concerned about them.
Modmail bots are vulnerable to spam since anyone on the server can DM the bot to open up a ticket. Be it a targeted spam attack or multiple users reporting the same thing. Some modmail bots allow you to block a member from opening up future tickets.
Depending on what kind of modmail bot you use, one drawback is that some modmail bots might not save the conversations between you and the user who made the ticket, only showing the reason the ticket was closed. Some modmail bots will save the conversation, but not any comments made by other moderators regarding the inquiry inside the ticket channel which can erase a lot of discussion and context from replies that are made. If you want to be able to track actions, you have to prioritize a bot that does save information logs.
Another drawback is the learning curve from using a new bot. Members that are new to Discord or that aren’t familiar with modmail bots can have trouble interacting and using the bot to report issues. Almost all modmail bots require a user to DM the bot, which can go against initial instincts and be challenging to new users. Some users have their DMs turned off which makes using a modmail bot more complicated if the user can’t receive DM replies from the bot. One solution to this is to ping the user in a public channel asking for them to change their DM settings so the bot can communicate with them.
Members figuring out a modmail bot for the first time can lead to “test” messages which will spam your modmail tickets. While these aren’t a big concern and are mostly harmless, depending on the size of your server, multiple users “testing” how the bot works can lead to a lot of time cleaning up the tickets.
Similarly to how a modmail bot can be a learning curve for your members, a modmail bot can also be a learning curve for your moderation team. Learning how a modmail bot works can take some time to get used to if your team has never used one before. Depending on how familiar your team is with using bots, the onboarding time may vary, so be sure to set aside time for learning and teaching how to use a modmail bot. We have an article on Training and Onboarding New Moderators that should help with this!
Modmail bots can be used in a variety of ways. They not only serve as a way to communicate with moderators, but also help with organization and structure and can be used for other purposes. Let’s look at the different uses of a modmail bot, and how it can make life on the server easier.
Questions. Modmail bots help users who might have questions that they don’t feel comfortable asking in public. This can be questions related to the server, or more private and sensitive matters. By using a modmail bot, the moderation team can efficiently answer the question depending on who knows the answer, and the user gets a sense of privacy by not having to ask in public. As mentioned previously, having a set of quick-replies to frequently asked questions makes responding to questions a breeze. Some modmail bots even have custom command replies where you can create commands to reply with a specific text, depending on the command. For example, replying with the command “=hello” can reply to the ticket with a premade message meant to greet the user and open a conversation, such as: “Hello. Thank you for contacting the moderation team. How can we help you today?”
Bug Reports. You can implement a modmail bot in a support server that deals with bug reports. Some larger communities have two servers–one for the main community, and one for support, depending on the community or product. Organizing bug reports using a modmail bot is an easy way to keep track of issues in one place. With the ability to give a closing reason, you can later search the modmail logs to look back at what sort of bugs were reported by different users.
Ban Appeals. Anonymity is important when dealing with troublemakers online. One way to use a modmail bot is to have a ban appeal server for users who would like to re-enter your community after being banned. With this setup appeals go through the modmail system so that the banned users can’t talk in any channels and can only interact with the staff team through the bot. Moderators can then review the appeal together and reply to the banned user anonymously through the bot.
Community Reports. Sometimes a member of your community needs to report something to the moderators that isn’t rule breaking or has information regarding another user that is important for the team to know. A modmail bot is great for relaying these types of reports to the team so everyone is notified at the same time without having to utilize an emergency ping.
Server Feedback. Members of your server can provide feedback using a modmail bot. Using modmail for feedback removes the need for a feedback channel and guarantees that the team will see the feedback when it is sent.
Staff Applications. There are different ways you can have staff applications for a server. Depending on who needs to see and evaluate the application, it can make sense to use a modmail bot to receive server staff applications in smaller arenas. When an application is made, a modmail ticket will open conveniently for the moderators or admins to look at. You can even comment within the ticket to evaluate each application, case by case! Keep in mind that there are a limited number of channels (in this case, tickets) that can be made in a channel category so this will only work for smaller servers.
The above list are just some of the many common ways that modmail bots can be used to strengthen communication with your server. The use cases for a modmail bot is limited only by your imagination and the type of bot you’re using!
*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.
When using a modmail bot, it is important that your moderation team is on the same page. Make sure there are clear protocols of how to handle tickets. An easy way to ensure that the end-user doesn’t get messages sent by multiple moderators is to have a moderator say that they will handle the ticket inside the ticket channel itself. This way, moderators aren’t stepping on each other’s toes and the ticket can be handled efficiently.
In the image below, we’re using a modmail bot that sends all messages sent in the ticket to the user, unless it has a specific command. Other modmail bots might only send a message to the user if a reply command is used, so be sure to read the bot documentation to know how your modmail bot handles communication between the moderators and the user sending a ticket.
Another good practice is to close any old or resolved tickets as quickly as possible. If the user has no further questions, it can be helpful to send a final message stating that if there are no further questions, the ticket will be closed soon. This way, you reduce the amount of open tickets and maintain a clean and organized modmail.
As mentioned before, anonymity in responding to tickets can help reduce the amount of harassment you and your moderators may receive from rule-breakers. When using a modmail bot you can use discretion when deciding whether to respond anonymously or with a more personalized response, depending on the situation. Here are a few scenarios where it’s okay to respond regularly:
In most cases, however, it is better to respond anonymously especially when dealing with any modmail tickets related to actioning or punishing another user. This applies to handling ban appeals if you have such a system set up. It isn’t a big deal if you reply to a question without showing your name. The same is not true if you show your name to someone who has been punished on your server.
Each server has its own tone and style when it comes to moderation. Some servers are more formal and may have an official tone, while others might have a more relaxed and easygoing tone. It is important to keep this in mind when responding to modmail tickets so that your tone in the modmail responses is consistent with the tone set by the server.
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.
This article has explored the ways modmail bots can strengthen how your team communicates with your community as well as the direct advantages and disadvantages that exist when introducing such a bot to your server. In some ways moderation becomes significantly easier, but in other ways, negatives like spam from these bots can be overwhelming and introduce new problems to solve. Moderating a server can involve a lot of different moving parts and it is important to analyze your community’s needs as it grows, taking into consideration whether a modmail bot is included in that growth. Use what you’ve learned in this article to make a decision that’s right for you and your community.
If you decide that a modmail bot isn’t a good fit for your community, but you still want some bot help on your server, check out our Auto Moderation on Discord article!
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.
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.
Take the Discord Moderator Exam!Take the Exam