Commands: Matchmaking (!play)

Overview

When playing a multiplayer game that allows private matches, we use the bot to choose who plays each match. It's designed to make it as fair as feasible for those currently interested in playing. If you want to join, all you have to do is join the in-game room, then type "!ready" in Twitch chat.

When you leave or otherwise become unavailable to play (even briefly), please type "!unready" so the bot knows to no longer place you in matches. Once you return, just !ready again.

If you tell the bot you're not interested in playing a certain mode after being selected for a match of that mode, please still play that match. The bot will refrain from selecting you for any further matches of that mode.

Available to Everyone

!play ready [<reason>] (or: !play, !ready)

Impersonation Allowed

Notifies the bot you are ready and wanting to play a game. Please !unready immediately if for any reason you are no longer able to play, even briefly. You can always !ready again as soon as you are again able to play. (You can provide a reason if you like.)
Examples:
!play ready
!play
!ready
!play ready I can't wait to bomb some Dodongos!
!play unready [<reason>] (or: !unready)

Impersonation Allowed

Notifies the bot you are not ready to play a game. Please !unready immediately if for any reason you are no longer able to play, even briefly. You can always !ready again as soon as you are again able to play. (You can provide a reason if you like.)
Examples:
!play unready
!unready
!unready Pizza's here!
!play mode yes|no [<Mode>]

Impersonation Allowed

Notifies the bot whether you want to be selected for future matches of the most-recently-selected mode (or, if specified, the <mode> specified by title or reference). The bot assumes "yes" for modes you've not issued this command for.
Examples:
!play mode yes
!play mode yes Laser Tag
!play mode no Clam Blitz

Available to Moderators

Player Status

!play ready list
Lists all ready players, excluding those who are globally banned.
Example:
!play ready list
!play ready clear
Unreadies all players.
Example:
!play ready clear
!play ban list
Lists all globally-banned players. For those players who are banned for a definite number of matches, the remaining count is included.
Example:
!play ban list
!play ban <[service:]name> [<count>]
Globally bans <name>, preventing them from being selected to play a match. <name> readying has no effect while they are banned. (While banned, their ready status is retained and can be changed.) If specified, the player is banned for the next <count> match(es) (the default is indefinitely).
Examples:
!play ban TheFairyNavi
!play ban TheFairyNavi 3
!play unban <[service:]name> [<count>]
Globally unbans <name>, allowing them to be selected to play a match. (While banned, their ready status is retained and can be changed.) If specified, the player's ban is reduced by <count> match(es) (the default is to immediately unban).
Examples:
!play unban TheFairyNavi
!play unban TheFairyNavi 3
!play prioritize list
Lists all prioritized players. For those players who are prioritized for a definite number of matches, the remaining count is included.
Example:
!play prioritize list
!play prioritize clear
Unprioritizes all players.
Example:
!play prioritize clear
!play prioritize <[service:]name> [<count>]
Prioritizes <name> for selection, meaning they will be chosen before any unprioritized players. If specified, the player is prioritized for the next <count> match(es) (the default is indefinitely).
Examples:
!play prioritize ShadowAryll
!play prioritize ShadowAryll 1
!play unprioritize <[service:]name> [<count>]
Unprioritizes <name> for selection, meaning they will no longer be chosen before any unprioritized players. If specified, the player's prioritization is reduced by <count> match(es) (the default is to immediately unprioritize).
Examples:
!play unprioritize ShadowAryll
!play unprioritize ShadowAryll 1

Matches

!play select <mode> [<official?> := yes|no] [(<team> <[service:]name>+)+]
Selects a match for the mode specified by title or reference. If specified, the match is marked as official (yes) or unofficial (no) (the default is presumed official). If specified, each <name> is made a member of the specified <team> (a match is not selected if a player is specified that could not be selected otherwise [e.g. if banned or not ready]).
Examples:
!play select TC
!play select Tower Control
!play select TC yes
!play select HaS no (Seeking ShadowAryll)
!play select again [<official?> := yes|no] [(<team> <[service:]name>+)+]
Equivalent to !play select using the most-recently-selected mode. If specified, the match is marked as official (yes) or unofficial (no) (by default, what the most-recently-selected match is set as at the time the command is issued). If specified, each <name> is made a member of the specified <team> (a match is not selected if a player is specified that could not be selected otherwise [e.g. if banned or not ready]).
Example:
!play select again
!play select again no
!play select again (Hiding BotTomOfTheWell TheFairyNavi)
!play unselect [<reason>]
Unselects the most-recently-selected match (useful in cases where a player suddenly becomes unable to play or the select command issued was incorrect). Unselecting causes the match to be ignored for deciding how to select future matches.
Examples:
!play unselect
!play unselect TheFairyNavi went afk.
!play reselect [<reason>]
Equivalent to !play unselect followed by !play select using the most-recently-selected mode (and team members specified, if any, for that most-recently-selected match). The match is marked as official or unofficial corresponding to what the most-recently-selected match is set as at the time the command is issued.
Examples:
!play reselect
!play reselect TheFairyNavi disappeared (maybe lost Internet?).
!play won <team index>
Records that team <team index> won the most-recently-selected match. (Results are used during selection for determining who is on which team.)
Example:
!play won 2
!play won <team member [service]:name>
Records that the team with player <team member> won the most-recently-selected match. (Results are used during selection for determining who is on which team.)
Example:
!play won ShadowAryll
!play lost <team index>
Records that team <team index> lost the most-recently-selected match. Only available when the match consisted of exactly 2 teams. (Results are used during selection for determining who is on which team.)
Example:
!play lost 1
!play lost <team member [service]:name>
Records that the team with player <team member> lost the most-recently-selected match. Only available when the match consisted of exactly 2 teams. (Results are used during selection for determining who is on which team.)
Example:
!play lost SwirlyEyedLink
!play tied
Records that the most-recently-selected match ended with a tie. Only available when the match consisted of exactly 2 teams. (Results are used during selection for determining who is on which team.)
Example:
!play tied
!play forfeit <[service:]name> [<reason>]
Marks a player as forfeiting the most-recently-selected match.
Examples:
!play forfeit TheFairyNavi
!play forfeit TheFairyNavi afk
!play unforfeit <[service:]name>
Unmarks a player as forfeiting the most-recently-selected match.
Example:
!play unforfeit TheFairyNavi

Games

!play game current
States the current game.
Example:
!play game current
!play game list
Lists all games.
Example:
!play game list
!play game ban list [<game>]
Lists all players banned from the <game> specified by title or reference (or, if not specified, the current game).
Example:
!play game ban list
!play game ban [<game>] <[service:]name>
Bans <name> from the <game> specified by title or reference (or, if not specified, the current game), preventing them from being selected to play a match while that game is the current game.
Examples:
!play game ban TheFairyNavi
!play game ban Splatoon TheFairyNavi
!play game unban [<game>] <[service:]name>
Unbans <name> from the <game> specified by title or reference (or, if not specified, the current game), allowing them to be selected to play a match while that game is the current game.
Examples:
!play game unban TheFairyNavi
!play game unban Splatoon TheFairyNavi
!play game set <game>
Set the current game to be the <game> specified by title or reference.
Example:
!play game set S1
!play game set Splatoon

Modes

!play mode list [<game>]
Lists all modes for the <game> specified by title or reference (or, if not specified, the current game).
Examples:
!play mode list
!play mode list Splatoon
!play mode ban list [<mode>]
Lists all players banned from the specified mode for the current game (or, if not specified, the most-recently-selected mode).
Examples:
!play mode ban list
!play mode ban list TC
!play mode ban list Tower Control
!play mode ban [<mode>] <[service:]name>
Bans <name> from the specified <mode> (or, if not specified, the most-recently-selected mode), preventing them from being selected to play a match of that mode.
Examples:
!play mode ban TheFairyNavi
!play mode ban TC TheFairyNavi
!play mode unban [<game>] <[service:]name>
Unbans <name> from the specified <mode> (or, if not specified, the most-recently-selected mode), allowing them to be selected to play a match of that mode.
Examples:
!play mode unban TheFairyNavi
!play mode unban TC TheFairyNavi

Miscellaneous

!play services output set {1..5}<service>
Sets which services to use when listing players. Services are prioritized in the order specified. (If a player does not have a name specified for any service set, a service not set but that the player has a name for is used.)
Examples:
!play services output set Twitch
!play services output set Switch Twitch
!play services output set WiiU Twitch