From 912b78d299d477c4cf0729f62fbaf3809a8ab7ad Mon Sep 17 00:00:00 2001 From: Fernando Mondo Date: Thu, 28 Aug 2025 11:39:22 -0300 Subject: [PATCH] fix: Add protocolMessageKey and fix revoked messages to preserve original before.id (#3715) * Add protocolMessageKey and fix revoke * Add protocolMessageKey and fix revoke * docs: add explanation --- index.d.ts | 5 +++++ src/Client.js | 3 +++ src/structures/Message.js | 8 ++++++++ 3 files changed, 16 insertions(+) diff --git a/index.d.ts b/index.d.ts index be9bb7e..11e434d 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1086,6 +1086,11 @@ declare namespace WAWebJS { latestEditSenderTimestampMs?: number, /** Last edit message author */ latestEditMsgKey?: MessageId, + /** + * Protocol message key. + * Can be used to retrieve the ID of an original message that was revoked. + */ + protocolMessageKey?: MessageId, /** Message buttons */ dynamicReplyButtons?: object, /** Selected button ID */ diff --git a/src/Client.js b/src/Client.js index fa07986..83ad284 100644 --- a/src/Client.js +++ b/src/Client.js @@ -468,6 +468,9 @@ class Client extends EventEmitter { let revoked_msg; if (last_message && msg.id.id === last_message.id.id) { revoked_msg = new Message(this, last_message); + + if (message.protocolMessageKey) + revoked_msg.id = { ...message.protocolMessageKey }; } /** diff --git a/src/structures/Message.js b/src/structures/Message.js index ca54edc..f6ecc7a 100644 --- a/src/structures/Message.js +++ b/src/structures/Message.js @@ -258,6 +258,14 @@ class Message extends Base { this.latestEditMsgKey = data.latestEditMsgKey; } + /** + * Protocol message key. + * Can be used to retrieve the ID of an original message that was revoked. + */ + if (data.protocolMessageKey) { + this.protocolMessageKey = data.protocolMessageKey; + } + /** * Links included in the message. * @type {Array<{link: string, isSuspicious: boolean}>}