Several fundamental issues for the official Modmail require fixes that are backward-incompatible, hence I decided to make this fork since it's unlikely my PR will be accepted. As this is a pretty niche use-case, most users should probably not use this. As a disclaimer, I will not be responsible for any damage caused to your Modmail instance by using my fork. This is made public simply for the spirit of open-source software.
This is mainly maintained by @raidensakura and @khakers.
This is a general installation guide for developers. Refer to the documentation for user guide.
This guide assumes you have installed git, a compatible Python version and Poetry installed.
- Clone the repository
$ git clone https://github.com/raidensakura/modmail $ cd modmail
- Create a Discord bot account, grant the necessary intents, and invite the bot.
- Create a free MongoDB database.
- Rename the file
.env.example
to.env
and fill it with appropriate values - Install the Python dependencies and run the bot
$ poetry install --no-root $ poetry run python bot.py
- [Optional] Load the logviewer plugin with
[p]plugin load raidensakura/modmail-plugins/logviewer@main
This guide assume you already have Docker or Docker Compose installed.
- Running with docker:
$ docker run --env-file=.env --name=modmail ghcr.io/raidensakura/modmail:stable
- Running with Docker Compose:
$ docker compose up -d
Issues with this fork can be opened through GitHub Issues.
Support for this forked version of Modmail can be requested through Raiden's Discord server. As I don't have a dedicated team to answer questions and provide help, it will be answered based on my availability.
Check out the contributing guidelines before you get started.
The develop branch is where most of the features are tested before stable release.
This project has included pre-commit script that automatically runs black and ruff linter on every commit.
- Install development dependencies
$ poetry install --only dev
- Install the pre-commit hook
$ poetry run pre-commit install
Alternatively, you can also lint the codebase manually
$ poetry run black .
$ poetry run ruff .