Go to file
Miikka Virtanen ad3417c827 Add useNicknames config option to use mod nicknames in replies. Post log lists in chunks to avoid hitting the message length limit. 2017-05-18 05:28:11 +03:00
attachments Add attachment rehosting; forward attachments in replies 2016-12-16 09:26:05 +02:00
db Start huge refactor 2017-02-10 04:56:36 +02:00
logs Add log saving and serving 2016-12-06 02:29:55 +02:00
src Add useNicknames config option to use mod nicknames in replies. Post log lists in chunks to avoid hitting the message length limit. 2017-05-18 05:28:11 +03:00
.editorconfig Initial commit 2016-12-06 00:25:20 +02:00
.eslintrc Start huge refactor 2017-02-10 04:56:36 +02:00
.gitignore Add new user greetings 2017-02-10 07:04:23 +02:00
.nvmrc Major refactor about done 2017-02-10 06:36:47 +02:00
LICENSE.md Add MIT license 2017-03-01 09:58:53 +02:00
README.md Fix README formatting 2017-05-01 18:04:14 -04:00
config.example.json Made alwaysReply configurable 2017-05-01 09:14:28 +00:00
package.json Add license to package.json 2017-03-01 09:59:15 +02:00
update.sh Major refactor about done 2017-02-10 06:36:47 +02:00
yarn.lock Add more info at the start of modmail threads. Change greetingGuildId to a more universal mainGuildId. Start using semi-proper version numbers. 2017-02-15 00:57:53 +02:00

README.md

Modmail for Discord

A bot for Discord that allows users to DM the bot to contact the server's entire mod team. These DMs get relayed to a modmail server where each user gets their own channel, or "thread". Moderators and admins can then reply to these threads, and these responses are relayed back to the original user as a DM.

Inspired by Reddit's modmail system.

Setup

  1. Install Node.js 6 or higher
  2. Clone or download this repository
  3. Create a Discord server to be used as the modmail inbox
  4. Copy config.example.json to config.json and fill in the values
  5. Install dependencies: npm install
  6. Add bot to servers, and make sure to give it proper permissions on the mail server.
  7. Run the bot: node src/index.js

Commands

Anywhere on the modmail inbox server

!logs <user> Lists previous modmail logs with the specified user
!block <user> Blocks the specified user from using modmail
!unblock <user> Unblocks the specified user from using modmail

Inside a modmail thread

!reply <text> Sends a reply to the user in the format "(Role) User: text" (alias !r)
!anonreply <text> Sends an anonymous reply to the user in the format "Role: text" (alias !ar)
!close Closes the modmail thread and saves a log of it
!logs Lists previous modmail logs with this user
!block Blocks the user from using modmail
!unblock Unblocks the user from using modmail

To automatically reply without using !reply or !r, enable alwaysReply in the config. alwaysReplyAnon sets whether to reply anonymously. If you do not wish to reply, it will ignore any message starting in the prefix (which defaults to !), such as !note