Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .gitbook/assets/FREE-LV-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/FREE-LV-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/FREE-LV-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/FREE-LV-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/FREE-LV-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-13.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-14.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/PANEL-9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,17 @@ Our Logviewer will save the threads so your staff can view previous threads thro
* Versatile 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 length for members to be in the guild before allowed to contact Modmail (`guild_age`).
* Minimum durations for account age and time in server before allowed to contact Modmail.
* Plugin support for extending functionality.
* Custom thread creation messages and thread naming formats.
* Configurable auto-close, inactivity, and notification settings.

**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.
* Discord authentication-protected logs ([Patreon-only feature](https://patreon.com/kyber)).
* Discord authentication-protected logs ([Patreon/BMAC-only feature](https://buymeacoffee.com/modmaildev/membership)).
* See past logs of a user with `?logs`.
* Searchable by text queries using `?logs search`.

Expand All @@ -41,8 +43,10 @@ Our Logviewer will save the threads so your staff can view previous threads thro
* Ease of installation: you can get your Modmail bot running in under 10 minutes!
* 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).
* Support for images, files, stickers, and other attachments.
* Internal notes and moderator-only discussions.
* Paginated commands interfaces via buttons.
* Multi-user conversations and private thread management tools.

This list is ever-growing thanks to active development by our exceptional contributors. See a full list of available commands by using the `?help` command.

Expand All @@ -58,17 +62,17 @@ You have various options to help the project. Giving this repository a star is g

Support Modmail with your contributions! Whether it be improvements to the documentation or new functionality, please feel free to make the change. Check out our [contributing guidelines](https://github.com/modmail-dev/modmail/blob/master/.github/CONTRIBUTING.md) before you get started.

## Next steps
## Next Steps

* Read about [installing Modmail](installation/).
* Become familiar with [Modmail commands and functionalities](getting-started.md).

{% hint style="info" %}
Throughout this documentation when we're referring to bot commands, we will assume the prefix of the bot to be <mark style="color:green;">?</mark> and will display them like in this example: <mark style="color:green;">?help</mark>.\
\
Optional arguments will be enclosed in square brackets:\
**Optional** arguments will be enclosed in square brackets:\
Example: <mark style="color:green;">?close \[time] \[reason] \[silently]</mark>\
\
Required arguments will be enclosed in angle brackets:\
**Required** arguments will be enclosed in angle brackets:\
Example: <mark style="color:green;">?contact \<user></mark>
{% endhint %}
4 changes: 3 additions & 1 deletion SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
* [Setting up Auto-Restart (Windows)](installation/local-hosting-vps/autorestart_windows.md)
* [Railway](installation/railway.md)
* [Heroku](installation/heroku.md)
* [Free Logviewer Hosting](installation/free-logviewer.md)
* [Modmail Hosting Panel](installation/modmail-panel.md)
* [Community Guides](installation/community-guides.md)
* [Updating](updating.md)
* [Usage](usage-guide/README.md)
Expand All @@ -32,4 +34,4 @@
* [Color Names](config-references/color-names.md)
* [Archived Documentation](old-docs/README.md)
* [Configure Modmail and Logviewer](old-docs/configure-modmail-and-logviewer.md)
* [Frequently Asked Questions](old-docs/frequently-asked-questions-old.md)
* [Frequently Asked Questions](old-docs/frequently-asked-questions-old.md)
8 changes: 4 additions & 4 deletions choose-host/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ You may have heard the saying *“cheap, good, fast — pick two.”* Hosting Mo

Over the years, the Modmail team has spent many hours researching and recommending free hosting platforms. Starting in 2025, we are no longer spending the time, or recommending platforms purley for being free.

Free platforms usually have, or develop one of these problems: remove free tier, high downtime, problematic server connection, terminating instances without notice.
Free platforms usually have, or develop one of these problems: remove free tier, high downtime, problematic server connection, or terminating instances without notice.


{% endhint %}

### "Minimum Spec"

The Modmail project does not have a minimum specification required to use run your bot. However, generally, if you hear anyone from our team, or read on this page the term "minimum spec" or "min spec", we are referring to this:
The Modmail project does not have a minimum specification required to use run your bot. However, generally, if you hear anyone from our team, or read on this page the term **minimum spec**, we are referring to this:

|System Spec|Minimum Value|
|-|-|
Expand Down Expand Up @@ -121,12 +121,12 @@ If you want the simplest possible method of getting your bot online, we would re
{% endhint %}

{% hint style="danger" %}
### A Caution on Free Pterodactyl based hosts.
## A Caution on Free Pterodactyl based hosts.

Many hosting "companies" have popped up in recent years using the free, open source, [Pterodactyl](https://pterodactyl.io/) hosting platform. These hosting sites are particularly problematic. With the biggest concern usually revolving around **your data security**. Many, if not all, of these platforms do not provide, possess, or follow proper agreements relating to the access of your uploaded information. This includes your MongoDB Conncection URI, and Bot Token, allowing the "staff" of these "companies" to access any message ever sent to or from your bot, any message in your server, and carry out actions as your bot (ie. deleting channels, reading messages, banning users).

Additionally, many of these hosts are run with substandard hardware and infrastucture, usually resulting to temporary IP bans from Discord, poor uptime, poor performance, improper dependancy installation, and more.

We **strongly** encourage you to conduct **full and complete** research before using these hosts. *Our general recommendation is to: avoid them.*
We **strongly** encourage you to conduct **full and complete** research before using these hosts. *Our general recommendation is to: **avoid them.***

{% endhint %}
17 changes: 14 additions & 3 deletions choose-host/recommended-hosts.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,14 +63,25 @@ See details on [Buy Me a Coffee](https://buymeacoffee.com/modmaildev/membership)
- [ninjaOne Recommendations](https://www.ninjaone.com/blog/key-steps-for-a-more-secure-linux-server/)
- [Linux.org Fourms Recommendations](https://www.linux.org/threads/the-ultimate-guide-to-reasonable-security-for-your-debian-ubuntu-linux-server-for-new-linux-admins.49199/)

*Consider these a starting point, but be sure to do your own research. The Modmail Team holds no liability for any security mishaps that may occur with a server not rented by us and under our full, direct, and exclusive control. (in other words: we aren't responsible for your server)
*Consider these a starting point, but be sure to do your own research. The Modmail Team holds no liability for any security mishaps that may occur with a server not rented by us and under our full, direct, and exclusive control. (in other words: we aren't responsible for your server)*

{% endhint %}

## PaaS Providers

PaaS Hosting is usually more expensive, but a simpler to setup solution, which removes the need for securing a server, ssh configurations, terminal usage, and similar. However, because of this the platforms are usually more restricted, and difficult to troubleshoot. Despite this they are still an adequate and supported option.
PaaS Hosting is usually more expensive, but a simpler to setup solution, which removes the need for securing a server, SSH configurations, terminal usage, and similar. However, because of this the platforms are usually more restricted, and difficult to troubleshoot. Despite this they are still an adequate and supported option.

[Heroku](https://www.heroku.com/)

[Railway](https://railway.com/)
[Railway](https://railway.com/)

{% hint style="danger" %}
## A Caution on Free Pterodactyl based hosts.

Many hosting "companies" have popped up in recent years using the free, open source, [Pterodactyl](https://pterodactyl.io/) hosting platform. These hosting sites are particularly problematic. With the biggest concern usually revolving around **your data security**. Many, if not all, of these platforms do not provide, possess, or follow proper agreements relating to the access of your uploaded information. This includes your MongoDB Conncection URI, and Bot Token, allowing the "staff" of these "companies" to access any message ever sent to or from your bot, any message in your server, and carry out actions as your bot (ie. deleting channels, reading messages, banning users).

Additionally, many of these hosts are run with substandard hardware and infrastucture, usually resulting to temporary IP bans from Discord, poor uptime, poor performance, improper dependancy installation, and more.

We **strongly** encourage you to conduct **full and complete** research before using these hosts. *Our general recommendation is to: **avoid them.***

{% endhint %}
2 changes: 1 addition & 1 deletion choose-host/unrecommended-hosts.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ description: These hosts are hosts we, and members of our community have had lit

### Discord Bot Hosting
- [Website](https://discordbothosting.com/)
- Pterodactyl based host that can have issues with ratelimits due to shared IP addresses and reasons that have been listed below.
- Pterodactyl based host that can have issues with ratelimits due to shared IP addresses and reasons that have been listed above.

### Kairo Hositing
- Discord Only
Expand Down
38 changes: 29 additions & 9 deletions installation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Modmail hosting and installation guide.

# Installation

Modmail is a self-hosted bot. This unfortunately means that there's **no** public bot invite. Furthermore, due to the inner workings of the bot and its highly customisable interfaces, you will need to host your own dedicated Modmail bot.
Modmail is a self-hosted bot. This unfortunately means that there's **no** public bot invite. Due to the inner workings of the bot and its highly customisable interfaces, you will need to host your own dedicated Modmail bot.

This section provides setup instructions for Modmail on many hosting methods, both **free[^1] and paid**.

Expand Down Expand Up @@ -126,10 +126,14 @@ You **must leave on** all permissions excepted for _Administrator_ (optional). H

<summary>Do you have a separate staff server?</summary>

If you manage a large server where you have a separate server for communication among your moderation team, Modmail supports directing threads into the staff server instead of your main (public) server.
If you manage a large server where you have a separate server for communication among your team, Modmail supports directing threads into the staff server instead of your main (public) server. (In our docs, when we refer to "mailbox server" or "inbox server" we are referring to this server that your threads are created in.)

You will need to invite your Modmail bot to **both** your main (public) server and your staff server using the same invite link above.

{% hint style="info" icon="location-dot">%}
You can add your Modmail bot to multiple different servers if you manage multiple. For example if you have a primary server, a gaming focused server, and a staff server. All threads will go to your staff server, but can be submitted by members of any of your servers. However, please note, that there is reduced functionality when using this approach.
{% endhint %}

</details>

Your bot should now be **offline** in your server. Congratulations, that's as expected! You have successfully created a Discord bot. The next step is to [create a MongoDB database](./#create-a-mongodb-database).
Expand All @@ -138,7 +142,13 @@ Your bot should now be **offline** in your server. Congratulations, that's as ex

Modmail uses MongoDB to store its internal configurations and log histories. You must create a MongoDB database in order to use Modmail.

We will be using [MongoDB Atlas](https://www.mongodb.com/atlas), which provides us with a free 512MB storage share—more than enough for Modmail.
We will be using [MongoDB Atlas](https://www.mongodb.com/atlas), which provides us with a free 512MB storage share, more than enough for Modmail. *If you are concerned about storage space, this free cluster will last you around 300k log entries, or around 3 million messages, it is extremely rare to hit this limit, even in some of the biggest and busiest servers.*

{% hint style="info" %}
Throughout this entire section, you may find that exact page layouts, icons, and buttons have been changed or relocated on the screen. This is not a problem and will not stop you from deploying Modmail. Simply look at the page being displayed, look at the screenshot, and you will be able to find what you need with minimal complication.

MongoDB Atlas significantly alters their user interface on an overly-frequent basis, and the Modmail team does not have the time or bandwidth to take new screenshots to reflect the sometimes multiple times per month changes.
{% endhint %}

### Requirements

Expand Down Expand Up @@ -173,7 +183,7 @@ It's possible that you verified your email in a different browser session, or yo

In this case, you can still follow the same steps below, but first click **Build a Database**:

<img src="../.gitbook/assets/Image22.png" alt="Screenshot of homepage and click build a database." data-size="original">
<img src="../.gitbook/assets/Image22.png" alt="Screenshot of homepage and click build a database.">

</details>

Expand All @@ -193,7 +203,7 @@ On the following **Security Quickstart** page, do the following:

1. Authentication method: _Username and Password_

Username: `modmail`
Username: `modmail` *(You can use anything you wish for this field, however, keep it short and avoid any special characters. For most users, we recommend keeping `modmail`.)*

Password: Click **Autogenerate Secure Password** - don't type your own password!
2. Copy and **save the password** in your Notepad, you will need this for later.
Expand Down Expand Up @@ -264,7 +274,7 @@ You finished the MongoDB steps! At this point, your bot should still be **offlin
Once you have finished the previous steps, gather and save the variables listed below as they will be needed to run your bot in later steps:

* `TOKEN` - The token to run your Modmail application under your Discord bot account
* `LOG_URL` - Logviewer URL that will be used to view threads in your web browser. *Please view the below **Danger** block if you do not intend on using a Logviewer.
* `LOG_URL` - Logviewer URL that will be used to view threads in your web browser. *Please view the below **danger** block if you do not intend on using a Logviewer.*
* `GUILD_ID` - The ID of the main Discord server that your bot will operate in.
* `MODMAIL_GUILD_ID` - **\[Optional]** The ID of the Discord server that your bot will create ticket channels in. This is only needed if you want your ticket channels to be created in a separate server, for an example, Staff Server.
* `OWNERS` - The user ID of the Discord accounts you want to set as owner for the bot. Can consist of multiple users, separated by comma.
Expand All @@ -283,13 +293,17 @@ CONNECTION_URI=mongodb+srv://username:password@cluster0-abcde.mongodb.net/
{% endcode %}

{% hint style="danger" %}
**DANGER!!** - `LOG_URL` Enviornment Variable without a Logviewer
**DANGER** - `LOG_URL` Enviornment Variable without a Logviewer

*This is only relevant if you choose not to use a logviewer with your Modmail Instance, if you intend on having a fully featured instance, you can safely ignore this block.*

If you do not intend on using a Logviewer for your Modmail Instance, you must still ensure `LOG_URL` is set to a valid FQDN (Fully Qualified Domain Name). You can leave it as `example.com` or change it to anything else, but, do **not** delete the row, or set a value that is not an FQDN. `none`, `local`, `12032`, etc are **not** FQDNs.

If you set the `LOG_URL` to an invalid FQDN, Discord will not handle it well and you will experience issues with thread creation.
If you set the `LOG_URL` to an invalid FQDN, Discord will not be able to render it properly and you will experience issues with thread creation.
{% endhint %}

{% hint style="success" %}
Congratulations! You have now completed all of the backend setup steps to get your Modmail ready, you can now move on to getting it deployed with the host of your choice. If you haven't chosen your host yet, check out our [Choosing a Host considerations](../choose-host/README.md).
{% endhint %}


Expand All @@ -305,18 +319,24 @@ A platform as a service (PaaS) that offers relatively low cost plans, which allo

### [Local Hosting](local-hosting-vps/) (free)

If you have an old PC, a Raspberry Pi, or a Linux box that you're able to keep online 24/7, you can also host Modmail with your own machine at home. Since Modmail doesn't require intensive resources to run, you can get by with a system having as low as 1GB of RAM. Setting it up can be quite advanced but you have complete control over your bot instance. Refer to our local hosting guide supporting a few popular OSes by clicking [here](./#local-hosting-free).
If you have an old PC, a Raspberry Pi, or a Linux box that you're able to keep online 24/7, you can also host Modmail with your own machine at home. Since Modmail doesn't require intensive resources to run, you can get by with a system having as low as 1GB of RAM. Setting it up can be quite advanced but you have complete control over your bot instance. Refer to our local hosting guide supporting a few popular OSes by clicking [here](local-hosting-vps/).

> A tip for Local Hosting: if you don't want to, don't know how to, or don't feel comfortable exposing your local machine to the internet for the Logviewer component of Modmail, Lorenzo from the Modmail team offers FREE logviewer hosting! Check it out [here](./free-logviewer.md)

### [Modmail Team Hosting](https://buymeacoffee.com/modmaildev) (paid)

We offer paid hosting solution for your Modmail bot. Hosting Modmail with us costs $4-5 USD per month.

We will also fully manage your bot hosting for you, so you don't need to worry about upgrading or setting up your own host server. Refer to our [Patreon Hosting here](https://buymeacoffee.com/modmaildev).

See guide [Modmail Panel Hosting](./modmail-panel.md)

### [modmail.lvh.lol](https://modmail.lvh.lol) (paid)

Run by a member of our community, this hosting provider has a purpose built software stack for hosting Modmail, logviewer not included.

See guide [Modmail Panel Hosting](./modmail-panel.md).

### [Heroku](heroku.md) (paid)

Another popular PaaS that's used to be free. However, their recent pricing adjustments, it now costs $5-7 USD per month to host Modmail.
Expand Down
2 changes: 2 additions & 0 deletions installation/community-guides.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ An online code execution environment that costs $7 USD per month. However, hosti

{% hint style="warning" %}
Replit is on the Modmail Team's unrecommended hosts list. See more details on the [unrecommended hosts page](../choose-host/unrecommended-hosts.md)

**The Modmail team does not provide any support of any kind to anyone hosting with Repl.it.**
{% endhint %}

## [Oracle Guide](https://docs.lidistat67.eu/) by lidistat67
Expand Down
Loading