Lobby Object
Represents a lobby within Discord. See Managing Lobbies for more information.Lobby Structure
| Field | Type | Description | 
|---|---|---|
| id | snowflake | the id of this channel | 
| application_id | snowflake | application that created the lobby | 
| metadata | ?dict<string, string> | dictionary of string key/value pairs. The max total length is 1000. | 
| members | array of lobby member objects | members of the lobby | 
| linked_channel? | channel object | the guild channel linked to the lobby | 
Lobby Member Object
Represents a member of a lobby, including optional metadata and flags.Lobby Member Structure
| Field | Type | Description | 
|---|---|---|
| id | snowflake | the id of the user | 
| metadata? | ?dict<string, string> | dictionary of string key/value pairs. The max total length is 1000. | 
| flags? | integer | lobby member flags combined as a bitfield | 
Lobby Member Flags
| Flag | Value | Description | 
|---|---|---|
| CanLinkLobby | 1<<0 | user can link a text channel to a lobby | 
Example Lobby Object
Create Lobby
POST/lobbies
Creates a new lobby, adding any of the specified members to it, if provided.
Returns a lobby object.
Discord Social SDK clients will not be able to join or leave a lobby created using this API, such as 
Client::CreateOrJoinLobby. See Managing Lobbies for more information.JSON Params
| Field | Type | Description | 
|---|---|---|
| metadata? | ?dict<string, string> | optional dictionary of string key/value pairs. The max total length is 1000. | 
| members? | array of lobby member objects | optional array of up to 25 users to be added to the lobby | 
| idle_timeout_seconds? | integer | seconds to wait before shutting down a lobby after it becomes idle. Value can be between 5 and 604800 (7 days). See LobbyHandlefor more details on this behavior. | 
Lobby Member JSON Params
| Field | Type | Description | 
|---|---|---|
| id | snowflake | Discord user id of the user to add to the lobby | 
| metadata? | ?dict<string, string> | optional dictionary of string key/value pairs. The max total length is 1000. | 
| flags? | integer | lobby member flags combined as a bitfield | 
Get Lobby
GET/lobbies/{lobby.id}
Returns a lobby object for the specified lobby id, if it exists.
Modify Lobby
PATCH/lobbies/{lobby.id}
Modifies the specified lobby with new values, if provided.
Returns the updated lobby object.
JSON Params
| Field | Type | Description | 
|---|---|---|
| metadata? | ?dict<string, string> | optional dictionary of string key/value pairs. The max total length is 1000. Overwrites any existing metadata. | 
| members? | array of lobby member objects | optional array of up to 25 users to replace the lobby members with. If provided, lobby members not in this list will be removed from the lobby. | 
| idle_timeout_seconds? | integer | seconds to wait before shutting down a lobby after it becomes idle. Value can be between 5 and 604800 (7 days). See LobbyHandlefor more details on this behavior. | 
Delete Lobby
DELETE/lobbies/{lobby.id}
Deletes the specified lobby if it exists.
It is safe to call even if the lobby is already deleted as well.
Returns nothing.
Add a Member to a Lobby
PUT/lobbies/{lobby.id}/members/{user.id}
Adds the provided user to the specified lobby. If called when the user is already a member of the lobby will update fields such as metadata on that user instead.
Returns the lobby member object.
JSON Params
| Field | Type | Description | 
|---|---|---|
| metadata? | ?dict<string, string> | optional dictionary of string key/value pairs. The max total length is 1000. | 
| flags? | integer | lobby member flags combined as a bitfield | 
Remove a Member from a Lobby
DELETE/lobbies/{lobby.id}/members/{user.id}
Removes the provided user from the specified lobby. It is safe to call this even if the user is no longer a member of the lobby, but will fail if the lobby does not exist.
Returns nothing.
Leave Lobby
DELETE/lobbies/{lobby.id}/members/@me
Removes the current user from the specified lobby. It is safe to call this even if the user is no longer a member of the lobby, but will fail if the lobby does not exist.
Uses Bearer token for authorization.
Returns nothing.
Link Channel to Lobby
PATCH/lobbies/{lobby.id}/channel-linking
Links an existing text channel to a lobby. See Linked Channels for more information.
Uses Bearer token for authorization and user must be a lobby member with CanLinkLobby lobby member flag.
Returns a lobby object with a linked channel.
JSON Params
| Field | Type | Description | 
|---|---|---|
| channel_id? | snowflake | the id of the channel to link to the lobby. If not provided, will unlink any currently linked channels from the lobby. | 
Unlink Channel from Lobby
PATCH/lobbies/{lobby.id}/channel-linking
Unlinks any currently linked channels from the specified lobby.
Send a request to this endpoint with an empty body to unlink any currently linked channels from the specified lobby.
Uses Bearer token for authorization and user must be a lobby member with CanLinkLobby lobby member flag.
Returns a lobby object without a linked channel.