Check prev_content before handling membership event

Fixes #111, #102 not fully fixed, prev_content doesn't
seem to exist every time even if it should
This commit is contained in:
Tulir Asokan
2018-04-28 19:21:50 +03:00
parent f5e3b39105
commit e231c3ec9a
+7 -2
View File
@@ -244,11 +244,16 @@ class MatrixHandler:
self.log.debug("Received event: %s", evt)
type = evt["type"]
content = evt.get("content", {})
prev_content = evt.get("unsigned", {}).get("prev_content", {})
if type == "m.room.member":
membership = content.get("membership", "")
if membership == "invite":
prev_membership = prev_content.get("membership", "leave")
if membership == prev_membership:
# TODO handle displayname/avatar changes
pass
elif membership == "invite":
await self.handle_invite(evt["room_id"], evt["state_key"], evt["sender"])
elif membership == "leave":
elif prev_membership == "join" and membership == "leave":
await self.handle_part(evt["room_id"], evt["state_key"], evt["sender"],
evt["event_id"])
elif membership == "join":