M-3PO

Getting started with M-3PO.

This document is a work-in-progress and may be incomplete in some areas.

Introduction

M-3PO is developed by Teddy#0001 and is a Star Wars: The Old Republic focused bot which includes server management, advanced auto-moderation, community features, and some fun extra commands. It is the community version of the highly requested RE-88 bot used in the SWTOR Discord Community.

The bot has been redeveloped from scratch as of March 20th, 2022 in order to meet the latest requirements, development standards, and improve stability. This document will detail features and options only available on the rewrite.

Important Links
Invite M-3PO Support Discord Privacy Policy Terms of Service


Before we begin...
The preview images used in this guide are from the SWTOR Discord Community and an internal testing server.
This document was built with bulma and bulmaswatch.
In this document, /commands will appear in red text, subcommands in yellow and parameters in blue. Information and examples will appear in green.

If you need any help with the setup and configuration of M-3PO you may reach out to me on Discord via DMs or my support Discord.


Permissions

The following permissions are required for the bot to operate in a server:

  • View Audit Log
  • Kick Members
  • Ban Members
  • Change Nickname
  • Manage Nicknames
  • Manage Webhooks
  • Read Messages/View Channels
  • Moderate Members
  • Manage Channels
  • Send Messages
  • Create Public/Private Threads
  • Send Messages in Threads
  • Manage Messages
  • Manage Threads
  • Embed Links
  • Attach Files
  • Read Message History
  • Mention Everyone
  • Use External Emojis
  • Add Reactions
  • Voice: Connect
  • Voice: Speak
  • Voice: Mute Members
  • Voice: Deafen Members
  • Voice: Move Members

The following permission is required to use Moderation commands:

  • View Audit Log

The following permissions are required to configure the bot:

  • Manage Server
It is advised not to grant bots the "Administrator" or "Manage Server" permission, except when absolutely required. As M-3PO is correctly configured, these permissions are not required. You should not set them for the bot.

Configuration

Setting up M-3PO for your community.

The following sections cover how to configure the core features of M-3PO within your community. You will need the Manage Server permission to use the /configure command and change settings for M-3PO.

Just an FYI: The setchannel subcommand will always automatically enable the feature as well for you convenience. You will not need to manually enable them after.

Disable Commands

With M-3PO you can outright disable certain commands within your community. As of now, this includes modmail, modcmd and meme with more options coming in the future. This will allow you to completely opt-out of features for the bot. You can utilize this if, say, you don't want your staff to use the bot for moderation, or wish to use another modmail system or format.

You can use the /configure commands command with the setstatus subcommand to opt-out of commands.

Moderation Logs

Formerly known as bot logs!

M-3PO can monitor for certain events such as when a member deletes a message and log the deleted content. Please note images and other media attachments cannot be displayed once deleted.

You can enable moderation logs by using the /configure modlogs command group. You can use setchannel to configure which channel the logs occur in.

The following events are logged: Member Join, member leaves, message deleted, message edited, and nickname changed.

Moderation Alerts

New Feature!

You can specify the channel where alerts for your moderation team are sent; this includes things like moderation team actions, filter warnings, and potentially dangerous content. Moderation alerts are available to keep your staff informed of activity they may need to keep an eye on. Please note, the options that appear here depend on your configuration.

Much like moderation logs, you can enable moderation alerts with the /configure modalerts command. You can similarly use setchannel to configure which channel the alerts are sent to.

Modmail

Modmail allows you to streamline communication between your moderation staff and your community members. Your members can use the /modmail command to open up a dialogue with your moderation team or simply reply to an existing message that'll be directed to the designated Modmail channel.

You will first need to enable the Modmail system by using /configure modmail setchannel to specify which channel Modmail messages for your moderation team will appear. Moderation staff will be able to message any member via the /modcmd modmail message subcommand.

Moderation

Moderating your community with M-3PO.

Punishment Commands

You and your staff can use M-3PO to issue punishments against problematic members in your community and retain a log of these punishments. All punishment commands exist under /modcmd punish. The following punishments are available for roles with the Manage Roles permission.

Command Function
kick Evict a member from the community, they can rejoin at anytime.
ban Permanently evict a member from the community, they cannot return unless the ban is revoked in your server's settings.
timeout Silence a member from communicating in text, voice, or via reactions for the set duration. You can specify time as 5 minutes, 1h for 1 hour, 15m for 15 minutes. Timeouts can be between 1 minute and 1 week.
warn Issue a warning to a member for behavior which conflicts with your server's rules. The member WILL be notified, however, it will not reveal the staff member.

Other Moderation Commands

Command Function
/modcmd info whois Review historical information about a member within the community. This includes key dates, notable permissions, and a punishment summary.

Filters

Advanced chat auto-moderation.

Chat filters will automatically monitor member communication within your community for unwanted and/or dangerous content. Upon detection, M-3PO will immediately intervene and may alert staff if configured. In the future, you'll be able to manage your own filters. The default array of filters available below have been rigorously battle tested and refined over many years to reduce bad actors within communities.

You can enable or disable these filters with the /configure filters command group.The setstatus subcommand will allow you to select and enable or disable certain filters.

Scam Shield

New Feature!

The Scam Shield is an complex filter that will automatically check against multiple community-sourced lists of known scam urls. M-3PO will remove these automatically from your community and can notify your staff when moderation alerts are enabled.

Discord Invite Shield

M-3PO can automatically detect Discord invite links and remove them.
The ability to whitelist members and channels to allow bypassing the filter is returning at a later date.

Chat Anti-Flood

New Feature!

This filter will automatically time-out members for one minute when they're sending messages far too quickly. The threshold for this is 7 messages within 10 seconds. If your staff roles are placed above the bot's role, they'll be immune.

Extras

Extra commands and features :)

Dynamic Voice Channels

New Feature!

When a member joins a voice channel prefixed with the emote, the system will automatically create a new channel and move the member to that new dynamic channel. The following video demonstrates a dynamic general voice lobby setup.

There are no commands required to set this feature up. Simply create a new voice channel give it a name that starts with . This is called the Template Channel The bot will use the following text to determine the name to use. Warning: Do not use numbers in the template channel name.

For example, ➕ Milkshake will create dynamic channels named "Milkshake 1", "Milkshake 2" and so on. You don't need to worry about clean-up either, M-3PO should automatically remove them once they're empty.
M-3PO will automatically rate-limit members to 1 channel per 30 seconds. Members will be ejected from the channel for attempting to create channels too quickly.

Troubleshooting

Added a new role or updated an existing with moderation permission but not working with the bot?
You will need need to use /configure commands refresh to redeploy the commands.