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:
@@ -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":
|
||||
|
||||
Reference in New Issue
Block a user