4.1 KiB
4.1 KiB
🛠️ Setting up the bot
Note: This bot is run on your own machine or a server.
To keep it online, you need to keep the bot process running.
Terminology
- Main server (or main guild) is the server where users will be contacting modmail from
- Inbox server (or inbox guild, or mail guild) is the server where modmail threads will be created. In a "single-server setup" this is the same server as the main server.
- A modmail thread is a channel on the inbox server that contains the current exchange with the user. These threads can be closed to archive them. One user can only have 1 modmail thread open at once.
- A moderator, in modmail's context, is a server staff member who responds to and manages modmail threads
- A user, in modmail's context, is a Discord user who is contacting modmail by DMing the bot
Prerequisites
- Create a bot on the Discord Developer Portal
- Turn on Server Members Intent in the bot's settings page on the developer portal (Image)
- Install Node.js 12, 13, or 14
- Download the latest bot version from the releases page
- Make sure the release doesn't say "Pre-release" next to it unless you want to run an unstable beta version!
- Extract the zip file that you just downloaded
- In the bot's folder (that you extracted from the zip file), make a copy of the file
config.example.ini
and rename the copy toconfig.ini
- If you're on Windows, the file may be named
config.example
(without.ini
at the end)
- If you're on Windows, the file may be named
Single-server setup
In this setup, modmail threads are opened on the main server in a special category. This is the recommended setup for small and medium sized servers.
- Go through the prerequisites above first!
- Open
config.ini
in a text editor and fill in the required values.mainServerId
andinboxServerId
should both be set to your server's id. - Invite the bot to the server
- On a new line at the end of
config.ini
, addcategoryAutomation.newThread = CATEGORY_ID_HERE
- Replace
CATEGORY_ID_HERE
with the ID of the category where new modmail threads should go
- Replace
- Make sure the bot has
Manage Channels
,Manage Messages
, andAttach Files
permissions in the category- It is not recommended to give the bot Administrator permissions under any circumstances
- 🏃 Start the bot!
- Want to change other bot options? See 📝 Configuration
- Have any other questions? Check out the 🙋 Frequently Asked Questions or join the support server!
Two-server setup
In this setup, modmail threads are opened on a separate inbox server. This is the recommended setup for large servers that get a lot of modmails, where a single-server setup could get messy. You might also want this setup for privacy concerns*.
- Go through the prerequisites above first!
- Create an inbox server on Discord
- Open
config.ini
in a text editor and fill in the required values- Set
mainServerId
to the ID of the main server where users will message the bot from - Set
inboxServerId
to the ID of the inbox server created in step 2
- Set
- Invite the bot to both the main server and the newly-created inbox server
- Open
config.ini
in a text editor and fill in the values - Make sure the bot has the
Manage Channels
,Manage Messages
, andAttach Files
permissions on the inbox server- The bot does not need any permissions on the main server
- 🏃 Start the bot!
- Want to change other bot options? See 📝 Configuration
- Have any other questions? Check out the 🙋 Frequently Asked Questions or join the support server!
* Since all channel names, even for channels you can't see, are public information through the API, a user with a modified client could see the names of all users contacting modmail through the modmail channel names.