Represents a multiplayer lobby in osu! Automatically does ratelimiting by not sending more than a message every 2 seconds.
All slot indices are 0 based.
Aborts a running match
Aborts any running countdown
Adds a player as referee (can manage the room with !mp commands), also useful to allow room control to another bot.
Adds players to referees.
Returns the BanchoBot instance used with this room.
Returns the channel name as on IRC
Makes nobody host (make it system/bog managed)
Closes the room and calls processClosed.
Gives host to a player
Invites a player to the room
Kicks a player from the room
Property to lock slots (disallow changing slots & joining)
Changes the map to a beatmap ID (b/ url)
Changes the map to a beatmap ID (b/ url) with gamemode
Changes the mods in this lobby (pass FreeMod first if you want FreeMod)
Moves a player to another slot
Returns the game ID as usable in osu://mp/ID urls
Sets the match password (password will be visible to existing players)
Processes a room closed event
Processes a user finish playing event & updates the state
Processes a user host event & updates the state
Processes a user join event & updates the state
Processes a user leave event & updates the state
Processes a match end event & updates the state
Processes a user move event & updates the state
Processes a room size change event & updates the state
Processes a user team switch event & updates the state
Manually wait until you can send a message again.
Removes a player from referees.
Removes players from referees.
Returns the room ID as usable in the mp history URL or IRC joinable via #mp_ID
Sends a message with a 2 second ratelimit
Sets up teammode, scoremode & lobby size
Changes a user's team
Sets a timer using !mp timer
Returns the current mp settings
Changes the slot limit of this lobby
Starts a match after a specified amount of seconds. If after is <= 0 the game will be started immediately. The timeout can be canceled using abortTimer.
Waits for a player to join the room & return the username
Waits for an existing timer/countdown to finish (wont start one)
Returned by !mp settings
Host changed map
Host is changing beatmap
The room has been closed
A countdown was aborted
A timer finished
The match was started but now aborted
Match has ended (all players finished)
Match has started
A message by anyone has been sent
A user finished playing. username + score + passed
emitted when all players are ready
username as argument
username + slot (0 based) + team as argument
username as argument
username + slot (0 based) as argument
username & team as argument
Automatically managed state of player slots, empty slots are Player.init