Skip to content
XHXIAIEIN edited this page Dec 2, 2022 · 4 revisions

lol-lobby

在房间内可以使用的API请求。

获取当前房间数据

包括地图模式,双方队伍成员信息。主要用来获取 summonerId

await connection.request('GET', '/lol-lobby/v2/lobby')

获取地图数据

包括地图模式,双方队伍成员信息。主要用来获取 queueId maxPartySize

await connection.request('GET', '/lol-lobby/v1/parties/gamemode')

切换队伍

如果你在左边队伍,就会加入到右边。如果你在右边队伍,就会加入左边。

await connection.request('POST', '/lol-lobby/v1/lobby/custom/switch-teams')

邀请玩家

邀请 summonerId 玩家。

data = [
  {"toSummonerId" : str(SummonerId)}
]
await connection.request('POST', '​/lol-lobby/v2/lobby/invitations', data=data)

取消邀请

取消邀请 summonerId 玩家。

await connection.request('POST', '/lol-lobby/v2/lobby/members/{summonerId}/revoke-invite')

踢出玩家

将指定的 summonerId 玩家踢出房间。

await connection.request('POST', '​/lol-lobby​/v2​/lobby​/members​/{summonerId}​/kick')

给予权限

给予指定 summonerId 的成员,赋予房间权限。

await connection.request('POST', '/lol-lobby/v2/lobby/members/{summonerId}/promote')

进入英雄选择阶段

仅自定义对局

await connection.request('POST', '/lol-lobby/v1/lobby/custom/start-champ-select')

开始寻找对局

仅匹配模式(包括征召模式)。

await connection.request('POST', '/lol-lobby/v2/lobby/matchmaking/search')

取消寻找对局

await connection.request('DELETE', '/lol-lobby/v2/lobby/matchmaking/search')

选位

position = {"firstPreference": "BOTTOM", "secondPreference": "MIDDLE"}
await connection.request('PUT', '/lol-lobby/v2/lobby/members/localMember/position-preferences', data=position)
position preferences
UNSELECTED 未选择
FILL 补位
UTILITY 辅助
TOP 上路
JUNGLE 打野
MIDDLE 中路
BOTTOM 下路

对局匹配状态

await connection.request('GET', '/lol-lobby/v2/lobby/matchmaking/search-state')
search state
Invalid 未开始
Searching 正在寻找对局
Found 找到对局

监听事件

event_types 有3种监听模式,分别是监听事件创建、事件状态更新、以及事件关闭的动作。

  • CREATE
  • UPDATE
  • DELETE

以监听 /lol-lobby/v2/lobby 简单举例:

  • CREATE 创建房间时触发
  • UPDATE 房间状态发生改变时触发,例如添加队友,换位,更改模式,开始游戏,更改邀请权限等..
  • DELETE 房间被关闭时触发

创建房间

创建房间时,会触发这个事件

@connector.ws.register('/lol-lobby/v2/lobby', event_types=('CREATE',))
async def icon_changed(connection, event):
    print(f'The summoner {event.data["localMember"]["summonerName"]} created a lobby.')

获取自定义对局列表

可以读取到目前大厅内所有自定义房间

/lol-lobby/v1/custom-games

当前房间模式

只有匹配模式才能调用此接口,自定义对局无法使用

/lol-lobby/v1/parties/gamemode
gamemode
botDifficulty
gameCustomization
gameType
maxPartySize
queueId

当前房间模式