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.yml
file. All categories must follow this format (except from theCancel
category)
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 Access
section under theSecurity
tab and click+ ADD NEW USER
. Give itRead and write to any database
permissions 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 Access
section under theSecurity
tab and click+ ADD IP ADDRESS
. Click theAllow Access From Everywhere
and0.0.0.0/0
should appear in theWhitelist Entry
. If it doesn't, enter it manually. Lastly, click confirm. - Time to connect to the Database! Go to
Cluster
under theDATA STORAGE
tab. If your database is still setting up, please wait until it's done! Once it is, click theCONNECT
button 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=majority
part 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-uri
indata/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