feat: moderate messages from WhatsApp
Implements: https://todo.sr.ht/~nicoco/slidge-whatsapp/19
This commit is contained in:
parent
0bf051a7d6
commit
7b87bfe29a
|
@ -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}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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(
|
||||
|
|
Loading…
Reference in New Issue