Raid Rooms

This module allows users to create private, temporary text or voice channels for cooperation purposes, such as during cooperative play time on MOBA games, and then delete the voice channel/text channel after an allotted time.

Its best use case is giving a place to small groups of people that need to talk to each other privately for a short amount of time, then disband the group to later re-form another one with different people.

A similar situation can be achieved by setting up a private group DM, with the downsides of:

  1. Having to befriend all those that are involved in the group DM (this is only true for the creator of the group DM).

  2. Not having access to bots.

  3. Not having any kind of moderation or 3rd party control over what happens in the group DM.

In order to preserve the privacy of the group, each raid room will be assigned with a PIN that will only be shared with the room master (whoever created the room). Other users will only be able to enter the room by knowing the PIN code, or being invited by the room master.

Each user can create a maximum of 2 rooms at the same time on a server: 1 text and 1 voice rooms.

Each raid room will expire after a set amount of time, as defined by the user (a soft cap can be set by the mods/admins). When that happens, the channel is automatically deleted. Warning messages will be sent to the room master before that happens.

When a text raid room expires, a chat log is dumped and saved (encrypted). The chat log will be posted into the raid rooms logger channel (see First Setup).

One or more roles can be set as “supervisor” roles. Supervisors will have moderation powers over raid rooms, similar to how moderators have powers over the rest of the server (see Supervisor Commands).

Premium

Out of the box, each server is limited to having a total of 3 simultaneous Raid Rooms. If you want to remove this limitation, you can unlock the number of Raid Rooms as a Premium feature (see: Premium Perks).


First Setup

Upon first creation of a room, a “Raid Rooms” channel category will be created. This category will host all of the created raid rooms and the raid rooms logger channel.

This category and the logging channel are hidden to the rest of the server by default. The corresponding permissions will be updated on each command run for the supervisor roles, and both the category and the logger channel will be recreated on the next command run if they are deleted.

You can change the category and channel names, and move the logger channel to another category after it’s created.


Public Commands

!rrcreate

Command Syntax

!rrcreate [text/voice] [--members/--m {room size, including the master (number)}] [--duration/--d {duration timecode}] [--pin/--password/--p {custom PIN}]

Command Description

Creates a new raid room. The PIN will be sent to the room master via DM.

All parameters are optional. If omitted, each parameter will be set as the default for the server (see !rradefaults). If no default values are assigned for the specific server, the overall default values are:

  • Room Type: text

  • Members: 4

  • Duration: 1 hour

Both parameters have a soft cap that can be set for the server. If these soft cap values aren’t assigned for the specific server, the overall default values are:

  • Members: 8

  • Duration: 1 day

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrcreate
!rrcreate voice
!rrcreate --members 6

!rrjoin

Command Syntax

!rrjoin (room id) (room PIN)

Command Description

Join a room by knowing its ID and PIN.

The request message will be automatically deleted on success, in order to preserve the secrecy of the PIN.

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrjoin abcdef 1234

!rrleave

Command Syntax

!rrleave (room id)

Command Description

Leave a specific room.

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrleave abcdef

!rrstatus

Command Syntax

!rrstatus (room id)

Command Description

Obtain info about a room by knowing its room ID.

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrstatus abcdef

!rrinvite

Command Syntax

!rrinvite (room id) (user id(s)/mention(s)/q_name(s))

Command Description

Invite one or more users to your room. They will be automatically added without any interaction from the target user(s). The PIN won’t be shared with the target user(s).

Room Master only.

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrinvite abcdef @cycloptux#1543

!rrclose

Command Syntax

!rrclose (room id)

Command Description

Closes the room, deleting the corresponding channel. If the room type was set as text, a chat log is dumped and saved (encrypted). The chat log will be posted into the raid rooms logger channel (see First Setup).

Room Master only.

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrclose abcdef

!rrnewpw

Command Syntax

!rrnewpw (room id)

Command Description

Assigns a new PIN to the room, useful if the PIN is somehow leaked. The PIN will be sent to the room master via DM.

Room Master only.

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrnewpw abcdef

Supervisor Commands

These commands can only be used by administrators and supervisors. To assign one (or more) role(s) as supervisor roles, see !rrasetsvrole.

!rrsls

Command Syntax

!rrsls

Command Description

Lists all active raid rooms in the server.

Permissions Needed

Bot: Manage Channels, Manage Messages

!rrskick

Command Syntax

!rrskick (room id) (user id(s)/mention(s)/q_name(s))

Command Description

Kicks one or more users from a room. Kicked users will be able to re-join the room if they know the PIN.

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrskick abcdef @cycloptux#1543

!rrsban

Command Syntax

!rrsban (room id) (user id(s)/mention(s)/q_name(s))

Command Description

Bans one or more users from a room. Banned users won’t be able to re-join the room even if they know the PIN.

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrsban abcdef @cycloptux#1543

!rrsunban

Command Syntax

!rrsunban (room id) (user id(s)/mention(s)/q_name(s))

Command Description

Lifts ban status from one or more users for the specified room. Formerly banned users will now be able to re-join the room if they know the PIN.

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrsunban abcdef @cycloptux#1543

!rrsbreak

Command Syntax

!rrsunban (room id)

Command Description

Forcefully closes the room, deleting the corresponding channel, without warning the room master. If the room type was set as text, a chat log is dumped and saved (encrypted). The chat log will be posted into the raid rooms logger channel (see First Setup).

Permissions Needed

Bot: Manage Channels, Manage Messages

Examples

!rrsbreak abcdef

Administrator Commands

Other than being automatically treated as supervisors, administrators also have access to a few configuration commands used to apply server-specific raid room settings.

!rrasetsvrole

Command Syntax

!rrasetsvrole (role id(s)/mention(s)/q_name(s))

Command Description

Toggles one or more role(s) as supervisor role (see Supervisor Commands). Use with no params to see the current list of supervisor roles.

Permissions Needed

User: Administrator
Bot: Manage Channels, Manage Messages

Examples

!rrasetsvrole @RaidRoomSupervisor

!rradefaults

Command Syntax

!rradefaults [--type [text/voice]] [--max-members [{number}]] [--members [{number}]] [--max-duration [{timecode}]] [--duration [{timecode}]]

Command Description

Sets the raid rooms default values for this server. Use any of the params without an argument to reset the param to the overall default value. Use with no params at all to see the current default settings.

--type

Type can be either text or voice. The overall default is text.

--members

This param lets administrators configure the default value for the number of members in a raid room if --members is omitted in !rrcreate.

--max-members

This param lets administrators configure the soft cap for the maximum number of members that a user can request by using the --members param in !rrcreate.

The hard cap for the maximum number of members that can join a room is set to 9999.

The hard cap for the minimum number of members that can join a room is set to 2.

--duration

This param lets administrators configure the default value for the duration of a raid room if --duration is omitted in !rrcreate.

--max-duration

This param lets administrators configure the soft cap for the duration of a raid room that a user can request by using the --duration param in !rrcreate.

The hard cap for the longest duration of a room is set to 1 year.

The hard cap for the shortest duration of a room is set to 10 minutes.

Permissions Needed

User: Administrator
Bot: Manage Channels, Manage Messages

Examples

!rrasetsvrole --type voice --max-members 16 --duration 2h
!rrasetsvrole --max-duration
!rrasetsvrole