Skip to content

A feature rich Modmail bot for Discord - DM to contact mods!

License

Notifications You must be signed in to change notification settings

paugs11/modmail

 
 

Repository files navigation


A feature rich Modmail bot for Discord.

Bot instances Support Python 3.7 MIT License

What is Modmail?

Modmail is akin to Reddit's Modmail both in functionality and purpose. It serves as a shared inbox/feed for server staff to communicate with the userbase and vice versa in a seamless way that DMing a single person never could achieve.

While the core functionality is to get into contact with the server personal, it's extended use includes but is not limited to organisational means. Feature or event requests, reporting other users and a comment/feedback/suggestion box under the guise of anonymity because Modmail threads aren't public.

How does it work?

When a member sends a direct message to the bot, a channel or "thread" is created within an isolated category for that member. This channel is where messages will be relayed and where any available staff member can respond to that user.

Features

  • Highly Customisable
    • Bot activity, prefix, category, log channel, etc.
    • Fully customisable command permission system.
    • Interface elements (color, responses, reactions, etc.)
    • Snippets and command aliases
    • Minimum account/guild age in order to create a thread.
  • Thread logs
    • When you close a thread, a log link is generated and posted to your log channel.
    • Rendered in styled HTML like Discord.
    • Optional login in via Discord to protect your logs.
    • See past logs of a user with ?logs
    • Searchable by text queries using ?logs search
  • Robust implementation
    • Scheduled tasks in human time, e.g. ?close in 2 hours silently.
    • Editing and deleting messages is synced on both ends.
    • Support for the full range of message content (mutliple images, files).
    • Paginated commands interfaces via reactions.

This list is ever growing thanks to active development and our exceptional contributors. See a full list of documented commands by using the help command.

Installation

Heroku

Currently, the easiest way to set up the bot is by using Heroku, a container-based cloud platform. Installation via Heroku is done in your web browser and keeps the bot online 24/7 for free (If you verify with a credit card). The installation guide will guide you through the entire installation process. If you run into any problems, join the development server for help and support.

Locally

Installation locally for development reasons or otherwise is as follows, you will need python 3.7.

Clone the repo

$ git clone https://github.com/kyb3r/modmail
$ cd modmail

Install dependancies

$ pip install -r requirements.txt

Rename the config.json.example to config.json and fill out the fields. And finally, run the bot.

$ python3 bot.py

Plugins

Modmail supports the use of third party plugins to extend or add functionality to the bot. This allows the introduction of niche features as well as anything else outside of the scope of the core functionality of Modmail. A list of third party plugins can be found using the plugins registry command. To develop your own, check out the documentation for plugins.

Contributing

Contributions to Modmail are always welcome, whether it be improvements to the documentation or new functionality, please feel free make the change. Check out our contribution guidelines before you get started.

This bot is free for everyone and always will be. If you like this project and would like to show your appreciation, here's the link for our Patreon.

About

A feature rich Modmail bot for Discord - DM to contact mods!

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%