websocket: add gdms to private_channels list

- user_storage: add get_gdms
This commit is contained in:
Luna 2019-02-16 21:37:44 -03:00
parent 39c5867c46
commit 83108bc367
3 changed files with 20 additions and 1 deletions

View File

@ -372,11 +372,16 @@ class GatewayWebsocket:
# user, fetch info # user, fetch info
uready = await self._user_ready() uready = await self._user_ready()
private_channels = (
await self.user_storage.get_dms(user_id) +
await self.user_storage.get_gdms(user_id)
)
await self.dispatch('READY', {**{ await self.dispatch('READY', {**{
'v': 6, 'v': 6,
'user': user, 'user': user,
'private_channels': await self.user_storage.get_dms(user_id), 'private_channels': private_channels,
'guilds': guilds, 'guilds': guilds,
'session_id': self.state.session_id, 'session_id': self.state.session_id,

View File

@ -436,6 +436,7 @@ class Storage:
""", channel_id) """, channel_id)
drow = dict(gdm_row) drow = dict(gdm_row)
drow['type'] = chan_type
drow['recipients'] = await self._gdm_recipients(channel_id) drow['recipients'] = await self._gdm_recipients(channel_id)
drow['last_message_id'] = await self.chan_last_message_str( drow['last_message_id'] = await self.chan_last_message_str(
channel_id channel_id

View File

@ -348,3 +348,16 @@ class UserStorage:
""", user_id) """, user_id)
return [r['id'] for r in rows] return [r['id'] for r in rows]
async def get_gdms(self, user_id) -> List[Dict[str, Any]]:
"""Get list of group DMs a user is in."""
gdm_ids = await self.get_gdms_internal(user_id)
res = []
for gdm_id in gdm_ids:
res.append(
await self.storage.get_channel(gdm_id)
)
return res