mirror of https://gitlab.com/litecord/litecord.git
blueprints.users: call lazy guild updates upon user update
- pubsub.lazy_guild: add update_user handler
This commit is contained in:
parent
7be1b4715d
commit
8818b00d6d
|
|
@ -235,6 +235,10 @@ async def patch_me():
|
|||
)
|
||||
)
|
||||
|
||||
await app.dispatcher.dispatch_many(
|
||||
'lazy_guild', guild_ids, 'update_user', user_id
|
||||
)
|
||||
|
||||
return jsonify(private_user)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -929,6 +929,17 @@ class GuildMemberList:
|
|||
# tell everyone about the removal.
|
||||
await self.resync_by_item(old_idx)
|
||||
|
||||
async def update_user(self, user_id: int):
|
||||
"""Called for user updates such as avatar or username."""
|
||||
|
||||
# update user information inside self.list.members
|
||||
self.list.members[user_id]['user'] = \
|
||||
await self.storage.get_user(user_id)
|
||||
|
||||
# redispatch
|
||||
user_idx = self.get_item_index(user_id)
|
||||
return await self.resync_by_item(user_idx)
|
||||
|
||||
async def pres_update(self, user_id: int,
|
||||
partial_presence: Presence):
|
||||
"""Update a presence inside the member list.
|
||||
|
|
@ -1346,3 +1357,7 @@ class LazyGuildDispatcher(Dispatcher):
|
|||
async def _handle_remove_member(self, guild_id, user_id: int):
|
||||
await self._call_all_lists(
|
||||
guild_id, 'remove_member', user_id)
|
||||
|
||||
async def _handle_update_user(self, guild_id, user_id: int):
|
||||
await self._call_all_lists(
|
||||
guild_id, 'update_user', user_id)
|
||||
|
|
|
|||
Loading…
Reference in New Issue