diff options
author | Erik Johnston <erik@matrix.org> | 2016-03-04 14:29:58 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-03-04 14:35:02 +0000 |
commit | ed61a491692635191b93f075db207a121eb37b66 (patch) | |
tree | 15529916444eca9cc590106ed5a05008fa15f1db /synapse/handlers/message.py | |
parent | Merge pull request #598 from Rugvip/invite-state (diff) | |
download | synapse-ed61a491692635191b93f075db207a121eb37b66.tar.xz |
Add profile information to invites
Diffstat (limited to 'synapse/handlers/message.py')
-rw-r--r-- | synapse/handlers/message.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py index cace1cb82a..2b1cf1c3af 100644 --- a/synapse/handlers/message.py +++ b/synapse/handlers/message.py @@ -196,12 +196,25 @@ class MessageHandler(BaseHandler): if builder.type == EventTypes.Member: membership = builder.content.get("membership", None) + target = UserID.from_string(builder.state_key) + if membership == Membership.JOIN: - joinee = UserID.from_string(builder.state_key) # If event doesn't include a display name, add one. yield collect_presencelike_data( - self.distributor, joinee, builder.content + self.distributor, target, builder.content ) + elif membership == Membership.INVITE: + profile = self.hs.get_handlers().profile_handler + content = builder.content + + try: + content["displayname"] = yield profile.get_displayname(target) + content["avatar_url"] = yield profile.get_avatar_url(target) + except Exception as e: + logger.info( + "Failed to get profile infomration for %r: %s", + target, e + ) if token_id is not None: builder.internal_metadata.token_id = token_id |