Handle WhatsApp kicks and Matrix invites

This commit is contained in:
Tulir Asokan
2020-06-25 23:58:35 +03:00
parent fed6756ae5
commit 326293303d
5 changed files with 91 additions and 12 deletions

View File

@@ -155,8 +155,10 @@ func (mx *MatrixHandler) HandleMembership(evt *event.Event) {
return
}
isSelf := id.UserID(evt.GetStateKey()) == evt.Sender
if content.Membership == event.MembershipLeave {
if id.UserID(evt.GetStateKey()) == evt.Sender {
if isSelf {
if evt.Unsigned.PrevContent != nil {
_ = evt.Unsigned.PrevContent.ParseRaw(evt.Type)
prevContent, ok := evt.Unsigned.PrevContent.Parsed.(*event.MemberEventContent)
@@ -169,6 +171,8 @@ func (mx *MatrixHandler) HandleMembership(evt *event.Event) {
} else {
portal.HandleMatrixKick(user, evt)
}
} else if content.Membership == event.MembershipInvite && !isSelf {
portal.HandleMatrixInvite(user, evt)
}
}