Introduction

This documentation refers to version 1.3 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:

/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

The bot uses Discord slash commands exclusively.

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

/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

Here's a comprehensive list of all commands available on the bot

Administrative tasks for the bot

name parameters description
list-apps - none - List all applications currently registered to your Discord server.
register-app applicationIdOrName, applicationSecret Register tracking of an application using application id and application secret
deregister-app applicationIdString Deregister tracking of an application using application id
name parameters description
list-channels - none - List all channels currently registered for your default application
list-channels-for-app applicationIdString List all channels currently registered for application.
recent-history channelName Show recent history for channel (by name) in your default application
recent-history-for-app applicationIdString, channelName Show recent history for channel (by name) in the given application

Help on how to use this bot

name parameters description
commands - none - Lists all available commands by group
all - none - Lists all available commands by group
admin - none - Lists commands in the 'admin' group
apps - none - Lists commands in the 'apps' group
prefs - none - Lists commands in the 'user-prefs' group
user - none - Lists commands in the 'user' group

Your own user preferences, when interacting with the bot

name parameters description
set-default-app applicationIdString Set your user's default application
get-default-app - none - Gets your user's default application
set-message-visibility visibility Set message visibility for responses

Interactions with reported messages

name parameters description
details reportId Retrieves and displays details on a reported message
context reportId, maxMessageHistory Retrieves 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 - none - Lists reported messages assigned to you
whisper message Send private message directly to user, sent from within a thread context
name parameters description
respond response Respond to a support ticket within a thread context
respond-to supportTicketId, response Respond to a support ticket with a given support ticket id

Interactions with users

name parameters description
ban-globally displayOrUniqueUserId Permanently bans a user (default application) globally
ban displayOrUniqueUserId, channelName Permanently bans a user (default application) from a given channel
ban-globally-with-expire displayOrUniqueUserId, expiration Temporarily bans a user (default application) globally (yyyy-MM-dd[THH:mm])
ban-with-expire displayOrUniqueUserId, channelName, expiration Temporarily bans a user (default application) from a given channel (yyyy-MM-dd[THH:mm])
kick displayOrUniqueUserId, channelName Permanently kicks a user (default application) from a given channel
message userDisplayOrUniqueId, message Send a direct message to a user (default application)
message-in-app applicationId, userDisplayOrUniqueId, message Send a direct message to a user in a given application
silence-globally displayOrUniqueUserId Permanently silences a user (default application) globally
silence displayOrUniqueUserId, channelName Permanently silences a user (default application) in a given channel
silence-globally-with-expire displayOrUniqueUserId, expiration Temporarily silences a user (default application) globally (yyyy-MM-dd[THH:mm])
silence-with-expire displayOrUniqueUserId, channelName, expiration Temporarily silences a user (default application) in a given channel (yyyy-MM-dd[THH:mm])
unban-globally displayOrUniqueUserId Unbans a user (default application) globally
unban-globally-scheduled displayOrUniqueUserId, scheduledTime Unbans a user (default application) globally at a scheduled time (yyyy-MM-dd[THH:mm])
unban displayOrUniqueUserId, channelName Unbans a user (default application) from a given channel
unban-scheduled displayOrUniqueUserId, channelName, scheduledTime Unbans a user (default application) from a given channel at a scheduled time (yyyy-MM-dd[THH:mm])
unsilence-globally displayOrUniqueUserId Lifts silence from a user (default application) globally
unsilence-globally-scheduled displayOrUniqueUserId, scheduledTime Schedule lifting silence from a user (default application) globally at time (yyyy-MM-dd[THH:mm])
unsilence displayOrUniqueUserId, channelName Lifts silence from a user (default application) from a given channel
unsilence-scheduled displayOrUniqueUserId, channelName, scheduledTime Schedule lifting silence from a user (default application) at time (yyyy-MM-dd[THH:mm])