mirror of https://gitlab.com/litecord/litecord.git
gateway.websocket: add shards field to ready
see https://github.com/discordapp/discord-api-docs/pull/826
This commit is contained in:
parent
28602dfa68
commit
268b921961
|
|
@ -393,17 +393,17 @@ class GatewayWebsocket:
|
||||||
user_id = self.state.user_id
|
user_id = self.state.user_id
|
||||||
user = await self.storage.get_user(user_id, True)
|
user = await self.storage.get_user(user_id, True)
|
||||||
|
|
||||||
uready = {}
|
user_ready = {}
|
||||||
if not self.state.bot:
|
if not self.state.bot:
|
||||||
# user, fetch info
|
# user, fetch info
|
||||||
uready = await self._user_ready()
|
user_ready = await self._user_ready()
|
||||||
|
|
||||||
private_channels = (
|
private_channels = (
|
||||||
await self.user_storage.get_dms(user_id) +
|
await self.user_storage.get_dms(user_id) +
|
||||||
await self.user_storage.get_gdms(user_id)
|
await self.user_storage.get_gdms(user_id)
|
||||||
)
|
)
|
||||||
|
|
||||||
await self.dispatch('READY', {**{
|
base_ready = {
|
||||||
'v': 6,
|
'v': 6,
|
||||||
'user': user,
|
'user': user,
|
||||||
|
|
||||||
|
|
@ -411,8 +411,11 @@ class GatewayWebsocket:
|
||||||
|
|
||||||
'guilds': guilds,
|
'guilds': guilds,
|
||||||
'session_id': self.state.session_id,
|
'session_id': self.state.session_id,
|
||||||
'_trace': ['transbian']
|
'_trace': ['transbian'],
|
||||||
}, **uready})
|
'shard': self.state.shard,
|
||||||
|
}
|
||||||
|
|
||||||
|
await self.dispatch('READY', {**base_ready, **user_ready})
|
||||||
|
|
||||||
# async dispatch of guilds
|
# async dispatch of guilds
|
||||||
self.ext.loop.create_task(self._guild_dispatch(guilds))
|
self.ext.loop.create_task(self._guild_dispatch(guilds))
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,7 @@ async def test_ready_fields(test_cli):
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
try:
|
||||||
ready = await _json(conn)
|
ready = await _json(conn)
|
||||||
assert isinstance(ready, dict)
|
assert isinstance(ready, dict)
|
||||||
assert ready['op'] == OP.DISPATCH
|
assert ready['op'] == OP.DISPATCH
|
||||||
|
|
@ -143,7 +144,11 @@ async def test_ready_fields(test_cli):
|
||||||
assert isinstance(data['private_channels'], list)
|
assert isinstance(data['private_channels'], list)
|
||||||
assert isinstance(data['guilds'], list)
|
assert isinstance(data['guilds'], list)
|
||||||
assert isinstance(data['session_id'], str)
|
assert isinstance(data['session_id'], str)
|
||||||
|
assert isinstance(data['_trace'], list)
|
||||||
|
|
||||||
|
if 'shard' in data:
|
||||||
|
assert isinstance(data['shard'], list)
|
||||||
|
finally:
|
||||||
await _close(conn)
|
await _close(conn)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue