Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit 67bfc3573c0c77193ca7ac07997edc335cfa2462 Author: Joseph Mansy <36427684+yousefmansy1@users.noreply.github.com> Date: Fri Mar 10 13:28:32 2023 +0000 Support handling delete message from whatsapp. (#1986) diff --git a/bridge/whatsappmulti/handlers.go b/bridge/whatsappmulti/handlers.go index b8e7857..d99c672 100644 --- a/bridge/whatsappmulti/handlers.go +++ b/bridge/whatsappmulti/handlers.go @@ -446 +448 @@ func (b *Bwhatsapp) handleMessage(message *events.Message) {   b.handleDocumentMessage(message)   case msg.ImageMessage != nil:   b.handleImageMessage(message) + case msg.ProtocolMessage != nil && *msg.ProtocolMessage.Type == proto.ProtocolMessage_REVOKE: + b.handleDelete(msg.ProtocolMessage)   }  }   @@ -3593 +36120 @@ func (b *Bwhatsapp) handleDocumentMessage(msg *events.Message) {     b.Remote <- rmsg  } + +func (b *Bwhatsapp) handleDelete(messageInfo *proto.ProtocolMessage) { + sender, _ := types.ParseJID(*messageInfo.Key.Participant) + + rmsg := config.Message{ + Account: b.Account, + Protocol: b.Protocol, + ID: getMessageIdFormat(sender, *messageInfo.Key.Id), + Event: config.EventMsgDelete, + Text: config.EventMsgDelete, + Channel: *messageInfo.Key.RemoteJid, + } + + b.Log.Debugf("<= Sending message from %s to gateway", b.Account) + b.Log.Debugf("<= Message is %#v", rmsg) + b.Remote <- rmsg +}