Breakout Room Matchmaking
Overview
Breakout rooms are chats split off from a primary chat in Discord. The audio, video, and text for those chats is self-contained. Members can be sent to and returned from breakout rooms by a chat owner (or deputy) using commands listed on this page.
Here's a GIF of Discord breakout rooms in action:
Breakout Matchmaking facilitates a variety of social events that send members to their own breakout chats. It groups participants semi-randomly into their own locked rooms, prioritizing fresh matches and (optionally) their roles.
There are three "team" roles.
- Red matches blue or purple.
- Blue matches red or purple.
- Purple matches anyone.
You can name and color these roles however you like. (E.g. Teacher, student, student-teacher.)
.match
and .match-loop
prioritize grouping people by team roles; .mix
and .mix-loop
do not.
What Happens When People Are Matched?
- Members are matched, priotizing freshness (and team role, if using
.match
/.match-loop
). - Chai displays the match groups in the lobby channel and in a DM to whoever ran the match command.
- Chai creates a voice and text channel for their grouping.
- Members are moved into that voice channel.
- Their text channel copies their last posts from the profile channel (if admins specified one via
.match-profiles
). - Their text channel shows the server match message is (if specified via
.match-message
by admins) - Members are pinged in that channel (so it's easy to find everything).
- They stay in that room until the round ends, after which they're returned to the lobby.
The Easy Way to Run Breakout Room Matchmaking Events
The easy option repeatedly matches participants for a fixed round length, with a fixed break time between rounds, over and over, until manually stopped.
- Make and configure a custom chat room.
- BEFORE OTHERS JOIN type
.lobby-setup
in your chat's text channel. .match-loop X Y
, where- X = # of minutes per round
- Y = # of minutes between rounds
.end-loop
to pause the loop.
If you'd like the matching to pair anyone (with the red, blue, or purple role), use .mix-loop
instead of .match loop
.
Breakout Matchmaking in More Detail
Setup
- Make a custom chat room.
- Type
.lobby-setup
in that chat room's text channel.
Running Rounds with Regular Duration
To match participants by role, with regular round durations and pauses in between, continuously until manually stopped, use the following command:
.match-loop [roundDurationInMinutes breakDurationInMinutes]
So to have 15 minute rounds and 5 minute break, you'd send .match-loop 15 5
.
If you'd like to match participants ignoring roles, use .mix-loop
instead of .match-loop
, but they otherwise work the same.
To stop repeating rounds, use this command:
.end-loop
To end a round early AND stop repeating rounds, use this command:
.recall
Running Rounds with Irregular Duration
To match participants by role for a single round, use the following command:
.match [optionalRoundDurationInMinutes]
Examples:
.match
matches people up with no specific round length in mind..match 10
matches people up for 10 minutes, before bringing them back.
note
.mix
works the same way, but ignores roles.
Ending a round
.recall [optionalRoundDurationInMinutes]
Examples:
.recall 5
ends the round in 5 minutes..recall
ends the round immediately.
Command Overview
Command name | Details |
---|---|
.lobby-setup | Pre-loads participant profiles and prevent camera usage in lobby. |
.match-loop | Repeat role-prioritized matching on timer. E.g. |
.mix-loop | Repeat role-**ignoring matching on timer. E.g. .mix-loop 10 2 = 10 minute rounds, 2 minute breaks. |
.end-loop | Stops .match-loop or .mix-loop after current round. |
.recall | End current round and stops loops. |
.match | Role-prioritized matching with an optional round duration. |
.mix | Role-ignoring matching with an optional round duration. |