diff options
author | Erik Johnston <erik@matrix.org> | 2016-03-04 15:29:45 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-03-04 15:29:45 +0000 |
commit | 1a1abd8d05be59a38f8fcd1100a313739ff92627 (patch) | |
tree | e9a4d607a2caa8efc9610662900551e022e3b8a8 /synapse/handlers/message.py | |
parent | Merge pull request #598 from Rugvip/invite-state (diff) | |
parent | Spelling (diff) | |
download | synapse-1a1abd8d05be59a38f8fcd1100a313739ff92627.tar.xz |
Merge pull request #624 from matrix-org/erikj/invite_profile
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..e92c74d07b 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 information for %r: %s", + target, e + ) if token_id is not None: builder.internal_metadata.token_id = token_id |