Documentation

Discord Moderator Bot

Moderate from Discord, with zero setup.

Product
Version

Introduction

This documentation refers to version 1.0 public preview of the Five Minute Discord Moderation Bot.

Fiveminutes.io offers a Discord bot available to all users.

Getting started

Getting up and running with our Discord Moderator bot is quite simple. Follow these few simple steps

1. Add the bot to your Discord server

Invite our Fiveminutes.io Moderator Discord bot to your Discord server today and experience seamless moderation capabilities tied directly into Five Minute Chat.

2. Configure Discord access permissions for the moderator bot

It's up to your how you want to interact with the moderation bot on your Discord server.

Our recommendation is that the bot is assigned its own channel, either though role assignment or through direct permission assignments. The moderation bot does not currently support any kind of user authentication and will accept any command from any user in any channel it is a member.

Therefore, we suggest giving it a role that is denied access to all channels (or groups, or whatever suites you best), with the exception of one or a few specific channels where you intend to interact with the bot. This way, you won't end up in a situation where other channels are created and the bot accidentally is made a member.

3. Register your application(s)

In order to interact with your application via the moderator bot, you'll need to register the application with your Discord server. This is done by submitting the following command to the bot:

mod! admin register-app 1df65865-e515-4c3f-bbfa-040877a45350 mySecret

Where the first parameter is the application id and application secret you use in your Unity project (see the Usage > Commands > admin section below).

4. Just kidding, that's it!

Yep, that's it.

You're now ready to use the moderator bot with your Five Minute Chat application.

Usage

All commands picked up by the moderation bot are prefixed with mod!

Here is an example of a command that lists all applications that have been registered to your Discord server (as documented below):

mod! admin list-apps

When running this command, the bot will respond - to the channel - with a list of all application ids that have been registered to your Discord server.

Use-case: Handling of a user reported message

Users can be given the ability to report messages inside your game, for example if they encounter inappropriate behavior from other users. Whenever the system receives such a user generated report for your application, it will be reported in Discord along with a unique id number, which you can use to refer to the report in your commands.

A moderator can then deal with this report by looking up details on the reported message, chat context around it, opening/closing the report and assigning it to themselves.

Moderation actions available include direct messaging users, silencing, kicking and banning users in/from channels or globally in an application.

Commands

admin

list-apps

List all applications currently registered to your Discord server.

register-app <applicationId> <applicationSecret>

Register tracking of an application using application id and application secret

deregister-app <applicationIdString>

Deregister tracking of an application using application id

apps

list-channels

List all channels currently registered for your default application

list-channels <applicationIdString>

List all channels currently registered for application.

recent-history

Show recent history for channel (by name) in your default application

recent-history <applicationIdString> <channelName>

Show recent history for channel (by name) in the given application

help

commands

Lists commands and their descriptions (the same information you are reading in this document)

user-prefs

set-default-app <applicationIdString>

Set your users's default application.

reports

details <reportId>

Retrieves and displays details on a reported message

context <reportId>

Retrieves and displays up to the 10 messages preceding the reported message

context <reportId> <maxMessageHistory>

Retrieves and displays up to the 'maxMessageHistory' (but at most 100) messages preceding the reported message

close <reportId>

Resolves a report and sets its status to Closed

open <reportId>

Reopens a report and sets its status to Open

assign <reportId>

Assigned a report message to you

unassign <reportId>

Removes assigned user from a report message

list-oldest <maxResults> <status>

Lists the oldest X number of message reports with status Y

list-latest <maxResults> <status>

Lists the latest X number of message reports with status Y

list-mine

Lists reported messages assigned to you

user

ban <uniqueUserId>

Permanently bans a user (in you default application) globally

ban <uniqueUserId> <channelName>

Permanently bans a user (in you default application) from a given channel

ban <uniqueUserId> <expiration>

Temporarily bans a user (in you default application) globally. Valid until expiration (format: yyyy-MM-dd [THH:mm])

ban <uniqueUserId> <channelName> <expiration>

Temporarily bans a user (in you default application) from a given channel. Valid until expiration (format: yyyy-MM-dd[THH:mm])

kick <uniqueUserId>

Kicks a user (in you default application) globally

kick <uniqueUserId> <channelName>

Permanently kicks a user (in you default application) from a given channel

silence <uniqueUserId>

Permanently silences a user (in you default application) globally

silence <uniqueUserId> <channelName>

Permanently silences a user (in you default application) in a given channel

silence <uniqueUserId> <expiration>

Temporarily silences a user (in you default application) globally. Valid until expiration (format: yyyy-MM-dd [THH:mm])

silence <uniqueUserId> <channelName> <expiration>

Temporarily silences a user (in you default application) in a given channel. Valid until expiration (format: yyyy-MM-dd[THH:mm])

unban <uniqueUserId>

Unbans a user (in you default application) globally

unban <uniqueUserId> <scheduledTime>

Unbans a user (in you default application) globally at a scheduled time (format: yyyy-MM-dd[THH:mm])

unban <uniqueUserId> <channelName>

Unbans a user (in you default application) from a given channel

unban <uniqueUserId> <channelName> <scheduledTime>

Unbans a user (in you default application) from a given channel at a scheduled time (format: yyyy-MM-dd[THH:mm])

unsilence <uniqueUserId>

Lifts silence from a user (in you default application) globally

unsilence <uniqueUserId> <scheduledTime>

Lifts silence from a user (in you default application) globally at a scheduled time (format: yyyy-MM-dd[THH:mm])

unsilence <uniqueUserId> <channelName>

Lifts silence from a user (in you default application) from a given channel

unsilence <uniqueUserId> <channelName> <scheduledTime>

Lifts silence from a user (in you default application) from a given channel at a scheduled time (format: yyyy-MM-dd[THH:mm])