1
0
Fork 0

feat: moderate messages from WhatsApp

Implements: https://todo.sr.ht/~nicoco/slidge-whatsapp/19
This commit is contained in:
nicoco 2024-02-10 14:34:07 +01:00
parent 0bf051a7d6
commit 7b87bfe29a
2 changed files with 5 additions and 1 deletions

View File

@ -205,6 +205,7 @@ func newMessageEvent(client *whatsmeow.Client, evt *events.Message) (EventKind,
case proto.ProtocolMessage_REVOKE:
message.Kind = MessageRevoke
message.ID = p.Key.GetId()
message.OriginJID = p.Key.GetParticipant()
return EventMessage, &EventPayload{Message: message}
}
}

View File

@ -226,7 +226,10 @@ class Session(BaseSession[str, Recipient]):
carbon=message.IsCarbon,
)
elif message.Kind == whatsapp.MessageRevoke:
contact.retract(legacy_msg_id=message.ID, carbon=message.IsCarbon)
if message.OriginJID == message.JID:
contact.retract(legacy_msg_id=message.ID, carbon=message.IsCarbon)
else:
contact.moderate(legacy_msg_id=message.ID)
elif message.Kind == whatsapp.MessageReaction:
emojis = [message.Body] if message.Body else []
contact.react(