Git Product home page Git Product logo

modmail's Introduction


A feature-rich Modmail bot for Discord.

Bot instances Support Python 3.7 Made with Python 3.7 MIT License

What is Modmail?

Modmail is similar to Reddit's Modmail both in functionality and purpose. It serves as a shared inbox for server staff to communicate with their users in a seamless way.

This bot is free for everyone and always will be. If you like this project and would like to show your appreciation, you can support us on Patreon, cool benefits included!

How does it work?

When a member sends a direct message to the bot, Modmail will create a channel or "thread" within an isolated category. All further DM messages will automatically relay to that channel, for any available staff can respond within the channel.

All threads are logged and you can view previous threads through their corresponding log link. Here is an example.

Features

  • Highly Customisable:

    • Bot activity, prefix, category, log channel, etc.
    • Command permission system.
    • Interface elements (color, responses, reactions, etc).
    • Snippets and command aliases.
    • Minimum duration for accounts to be created before allowed to contact Modmail (account_age).
    • Minimum duration for members to be in the guild before allowed to contact Modmail (guild_age).
  • Advanced Logging Functionality:

    • When you close a thread, Modmail will generate a log link and post it to your log channel.
    • Native Discord dark-mode feel.
    • Markdown/formatting support.
    • Login via Discord to protect your logs (premium Patreon feature).
    • See past logs of a user with ?logs.
    • Searchable by text queries using ?logs search.
  • Robust implementation:

    • Schedule tasks in human time, e.g. ?close in 2 hours silently.
    • Editing and deleting messages are synced.
    • Support for the diverse range of message contents (multiple 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

Where is the Modmail bot invite link? Unfortunately, due to how this bot functions, it cannot be invited. This is to ensure the individuality to your server and grant you full control over your bot and data. Nonetheless, you can easily obtain a free copy of Modmail for your server by following one of the methods listed below (roughly takes 15 minutes of your time):

Heroku

This bot can be hosted on Heroku.

Installation via Heroku is possible with your web browser alone. The installation guide (which includes a video tutorial!) will guide you through the entire installation process. If you run into any problems, join our Modmail Discord Server for help and support.

To configure automatic updates:

  • Login to GitHub and verify your account.
  • Fork the repo.
  • Install the Pull app for your fork.
  • Then go to the Deploy tab in your Heroku account of your bot app, select GitHub and connect your fork (usually by typing "Modmail").
  • Turn on auto-deploy for the master branch.

Hosting for patrons

If you don't want to go through the trouble of setting up your very own Modmail bot, and/or want to support this project, we offer the all inclusive installation, hosting and maintenance of your Modmail with Patron. Join our Modmail Discord Server for more info!

Locally

Local hosting of Modmail is also possible, first you will need python 3.7.

Follow the installation guide and disregard deploying the Heroku bot application. If you run into any problems, join our Modmail Discord Server for help and support.

Clone the repo:

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

Install dependencies:

$ pipenv install

Rename the .env.example to .env and fill out the fields. If .env.example is nonexistent (hidden), create a text file named .env and copy the contents of .env.example then modify the values.

Finally, start Modmail.

$ pipenv run bot

Sponsors

Special thanks to our sponsors for supporting the project.

Become a sponsor on Patreon.

Plugins

Modmail supports the use of third-party plugins to extend or add functionalities to the bot. This allows 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 plugins documentation.

Plugins requests and support is available in our Modmail Plugins Server.

Contributing

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

If you like this project and would like to show your appreciation, support us on Patreon!

modmail's People

Contributors

kyb3r avatar taaku18 avatar fourjr avatar agent-fennec avatar isaacli430 avatar robinmahieu avatar vivekjoshy avatar officialpiyush avatar infinitepower18 avatar xaos1502 avatar stephendadev avatar karatewumpus avatar csojinb avatar webkide avatar ingeniouscoder avatar konggal avatar hereshavi avatar akhiltulluri avatar ravener avatar xpolar avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.