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)
|
return jsonify(private_user)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -929,6 +929,17 @@ class GuildMemberList:
|
||||||
# tell everyone about the removal.
|
# tell everyone about the removal.
|
||||||
await self.resync_by_item(old_idx)
|
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,
|
async def pres_update(self, user_id: int,
|
||||||
partial_presence: Presence):
|
partial_presence: Presence):
|
||||||
"""Update a presence inside the member list.
|
"""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):
|
async def _handle_remove_member(self, guild_id, user_id: int):
|
||||||
await self._call_all_lists(
|
await self._call_all_lists(
|
||||||
guild_id, 'remove_member', user_id)
|
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