MoonlightBot Documentation
Welcome to the documentation for MoonlightBot! MoonlightBot is a powerful moderation bot for Discord with a focus on user-friendliness and efficiency. It's simple to use and easy to set up, and is run and maintained entirely by volunteers. This documentation will teach you everything you need to know to use MoonlightBot to its fullest potential.
Getting Started
First, add MoonlightBot to your server using this invite link. It is recommended (but not required) that you grant all requested permissions to ensure all features work correctly.
Once you've added MoonlightBot to your server, you can verify that it's working by using the /ping
command.

If this is your first time using MoonlightBot, you'll receive a Direct Message welcoming you to the bot and providing several recommendations, including reading the Acceptable Use Policy. Please read this carefully, as a violation of the Acceptable Use Policy can result in you being banned from using the service.

We also suggest that you review the Moderation Tutorial and share it with your server moderators and administrators once you've finished configuring MoonlightBot.
Changing the Bot's Language
MoonlightBot supports multiple languages for its commands and responses, and can be set server-wide or per-user. Set the language using
/config settings locale:LANG
for server-wide configuration, or
/userconfig settings locale:LANG
for user-specific configuration, where LANG
is the language you want MoonlightBot to respond in.
A list of supported languages is available on the Discord Developer Portal; Locale, Language Name, and Native Name are all valid inputs. Alternatively, auto
can be used for MoonlightBot to detect your preferred language from your Discord settings.
Temporary Roles
MoonlightBot provides easy and dynamic role management by staff and members alike, including Reaction Roles.
A role can be temporarily added with
/temprole
A role can be temporarily removed with
/pause-role
All active temporary roles can be listed with
/list-temproles
Roles added to members can be automatically changed to a temporary role using the
detect-assignment
config option
You can also permanently assign or remove any role to a user with /role
, or setup Reaction Roles and /selfrole
s that members can self-assign
Command Permissions
MoonlightBot uses Discord's built-in permissions system to control who is and is not able to execute certain commands. Some commands have required permissions set by default, and overrides for specific members and roles can be applied to any and all commands. To set up permissions properly, please follow the Permission Tutorial.
Logging
MoonlightBot offers highly-configurable logging, and can log several kinds of actions to one or more channels. To enable and configure logging for a specific channel, use the command
/config channels channel:LOG-CHANNEL logs:Open editor
where LOG-CHANNEL
is the channel you want logs posted to.
An editor will open where you can enter items or categories from the list of log names, or an asterisk (*
) to log everything. The list of items and categories to log should be separated by commas and spaces, like so: BAN, KICK, USER_JOIN, USER_LEFT

Mute Setup
MoonlightBot can mute members both temporarily and permanently. Use the command
/create-muterole
to set up a mute role. Specifying the role
option allows you to set up an existing role, or you can leave it out to create a new @Muted
role.

You will now be able to use /mute
, /tempmute
, and /unmute
.
Evasion Bans
Evasions bans are a fallback moderation feature to ensure muted members cannot abuse improperly configured permissions by escalating a mute punishment to a harsher ban. If a user with your server's mute role sends a message in a channel that hasn't been allowed, they will be banned. To enable evasion bans, use the command
/config settings mute-evasion-ban:True
All channels will now be monitored for new messages sent by muted members. To create an exception to the evasion ban and allow muted members to talk in a channel, use
/config channels channel:IGNORED-CHANNEL ignore-mute-evasion-ban:True
where IGNORED-CHANNEL
is the channel you want ignored. Ignoring a channel will also ignore threads made in the channel.
It is recommended to set up at least one logging channel with the BAN
log enabled to see when an evasion ban is triggered.

Support the Development of MoonlightBot
MoonlightBot is run and maintained by volunteers, and is funded entirely by Premium Subscriptions. These subscriptions help us fund hosting and give you great benefits, making them a fantastic way to support us. You can also help by upvoting the bot or by joining our team of testers, translators, and documentation writers.
Questions? Problems?
Please read the Frequently Asked Questions first to see if your question or problem is answered there. If your question or problem is still unanswered, join the support server and we will help you as best we can!
Last updated