This is the source code of our ModMail bot. If you wish to use it on your server, go ahead. If you want to copy anything to add to your own bot, you're free to do that too. This code is old, but still functional, so it is useful. Once we decide to update the ModMail bot, we will update the repo as well.
- Categories: to add/remove/edit categories, you will need to edit the
data/categories.ymlfile. All categories must follow this format (except from theCancelcategory)
CategoryName:
mention: "Mention Message <@roleid>" // Message on thread creation
category: 759762394179436554 // Thread Category ID
description: "Category Description" // Will be shown to the recipient
emoji: "❓" // Emoji for the user to react- Close Message: Whenever a thread is closed, you can automate a message by editing
data/closeMessage.txt. - Editing
data/config.yml: Just change all values to match your server settings. The main guild is the server to receive support messages from, and the support guild is the server to create the threads in. They can be the same guild. The support role is the only role who can reply to ModMails.
To be able to use the bot, you need a Mongo Database. You can get a free 500MB Database from MongoDB Atlas. That will last for a really long time.
Head over to Atlas and create a new account. You will then be greeted with this panel.

Select the FREE one and give it a name. Follow these steps;
- Go to
Database Accesssection under theSecuritytab and click+ ADD NEW USER. Give itRead and write to any databasepermissions so the bot can properly store the data. Give it a username and a secure password. Save the password only. - To allow the bot to actually access the database, you should whitelist all IP's. Go to
Network Accesssection under theSecuritytab and click+ ADD IP ADDRESS. Click theAllow Access From Everywhereand0.0.0.0/0should appear in theWhitelist Entry. If it doesn't, enter it manually. Lastly, click confirm. - Time to connect to the Database! Go to
Clusterunder theDATA STORAGEtab. If your database is still setting up, please wait until it's done! Once it is, click theCONNECTbutton andConnect Your Application. Copy a link that looks like this;mongodb+srv://<username>:<password>@cluster0.r4nd0m.mongodb.net/myFirstDatabase?retryWrites=true&w=majority - Lastly, remove the
myFirstDatabase?retryWrites=true&w=majoritypart and replace<username>with your user's name (sometimes it is already replaced in if there's only one user), and<password>with your saved password. Take the link and paste it as the value ofmongo-uriindata/config.yml! - Your database is done!
That's pretty much it. I'd usually say any contributions are welcome, but it's a waste of time since this code is not going to be updated until we recreate the whole bot. Enjoy <3

