Skip to content

aternosorg/modbot

Repository files navigation

ModBot

Discord GitHub GitHub contributors GitHub last commit


ModBot is an open source moderation bot with advanced features developed by Aternos.

It uses modern Discord features like slash-commands, context-menus, timeouts, buttons, select-menus and modals and offers everything you need for moderation. Including bad-words and auto-responses with support for regex, detecting phishing urls, temporary bans, a strike system, message logging and various other forms of automatic moderation filters.

Screenshots

Moderating users or viewing information is faster than ever thanks to buttons, modals and context menus:

User Embed

ModBot will prevent accidentally punishing a user twice by warning the moderator if another moderator has punished this user in the last 5 minutes.

Strike Confirmation

Add ModBot to your server

By adding the bot to your server you agree to our privacy policy.
Invite: Click me

You can view all commands by typing a slash / in the text input field. All commands and options have clear descriptions.

We also have a Discord server.
Please note: ModBot is a side project for us. We don't earn any money with it and primarily develop it for use on our own servers. We can't help with every problem and won't add features that we don't need.

Getting Started

  • You can view the settings with /settings overview
  • To set up a log channel use /settings log-channel <#channel>
  • You can import strikes, mutes and bans from Vortex using /import
  • If you want to configure a YouTube playlist, you can use /settings playlist <url>
  • You can also add a Zendesk help center, using /settings helpcenter <url> to enable the /article command.

Support

You can view the usage of commands with the help command.
If you think you found a bug in ModBot then please create an issue.
For security issues please refer to the SECURITY.md.

Self Hosting

If you want to host the bot yourself you can use our pre-built docker image or install it directly. In both cases you will need a MySQL database and a Discord application:

  1. Create a Discord application and enable the SERVER MEMBERS intent. The bot needs this to reassign the muted role when a muted user joins your server
  2. Add a bot to the application and copy the auth token
  3. Configure the bot (see CONFIGURATION.md)
  4. To invite the bot to your server replace ID with the client ID of your application https://discord.com/oauth2/authorize?client_id=ID&scope=bot%20applications.commands&permissions=1099780074646 and open the link
  5. Follow the instructions for the installation method you want to use

Docker

Requirements: Docker

docker run -e MODBOT_AUTH_TOKEN="<discord-auth-token>" -e MODBOT_DATABASE_HOST="<database-host>" -e MODBOT_DATABASE_PASSWORD="<database-password>" ghcr.io/aternosorg/modbot

Direct Installation

Requirements: Node.js (v16.9.0+), a MySQL database

  1. Download the code and run npm ci
  2. Run npm start to start the bot

Contributing

If you want to contribute you need to fork the repository, then add your changes to your fork and then create a pull request. We also recommend looking at the Documentation of discord.js. If you have any questions create an issue or join our discord