Add a 'user_left_room' distributor signal analogous to 'user_joined_room'

This commit is contained in:
Paul "LeoNerd" Evans 2014-12-11 18:27:01 +00:00
parent 5ebc994f84
commit f25764943c
2 changed files with 48 additions and 3 deletions

View file

@ -260,6 +260,7 @@ class RoomMemberHandler(BaseHandler):
self.distributor = hs.get_distributor()
self.distributor.declare("user_joined_room")
self.distributor.declare("user_left_room")
@defer.inlineCallbacks
def get_room_members(self, room_id, membership=Membership.JOIN):
@ -387,6 +388,12 @@ class RoomMemberHandler(BaseHandler):
do_auth=do_auth,
)
if prev_state and prev_state.membership == Membership.JOIN:
user = self.hs.parse_userid(event.user_id)
self.distributor.fire(
"user_left_room", user=user, room_id=event.room_id
)
defer.returnValue({"room_id": room_id})
@defer.inlineCallbacks