README.md

A simple and functional modmail bot for Discord.

How does it work?

When a user sends a direct message to the bot, a channel is created within an isolated category. This channel is where messages will be relayed. To reply to the message, simply use the command reply in the channel. See a full list of commands below.

Installation

You have two options for using this bot, host on Heroku or self-host the bot. If you choose to install the bot using Heroku, you will not need to download anything. Read the installation guide or watch the video tutorial. If you ran into any problems, join our discord server for help and support. Even if you don't have any issues, you should come and check out our awesome Discord community! 😉

What is Heroku?

Heroku is a container based cloud platform that currently offers a free plan to host web apps. However, these apps have an ephemeral file system and thus cannot store any data on site. We have made Modmail be accessible to anyone while still being feature-rich; it's a community run project that lets anyone get it up and running 24/7 for free. So how does our bot store data? Configs and logs are stored in a centralized web service hosted by us. This enables you to get started easily and fast.

Self-hosted logs

If you want complete control over your data and do not want to use the centralized API service, you can self-host your logs. We recommend this if you want stability and security for your bot. You can do this by adding two config variables:

MONGO_URI - MongoDB connection URI, you can get a free 500 MB cluster from MongoDB Atlas.

You also need to create a separate Heroku app for the log viewer that you can deploy from here.

Features and Commands

The bot comes with a plethora of useful functionality. Take a look at the list of commands.

Automatic Updates

The bot checks for new updates every hour and automatically updates to a newer version if found. This bot is under active development so you can always look forward to new, useful features! If you do not want this functionality, for example, if you want to make changes to your fork, you can do so by adding a disable_autoupdates config variable.

Contributing

This project is licenced under MIT. If you have ideas for commands create an issue or pull request. Contributions are always welcome, whether it be documentation improvements or new functionality, please feel free to create a pull request.