From 3bb4217a45103fe5a8edb02d8fbb95f5e1db5f17 Mon Sep 17 00:00:00 2001 From: w3nder Date: Sun, 24 Dec 2023 14:32:05 -0300 Subject: [PATCH] =?UTF-8?q?fix:=20Corre=C3=A7=C3=A3o=20na=20Fun=C3=A7?= =?UTF-8?q?=C3=A3o=20sendList=20Ao=20disparar=20uma=20lista=20de=20mensage?= =?UTF-8?q?ns,=20agora=20enviamos=20elas=20com=20o=20tipo=20'PRODUCT=5FLIS?= =?UTF-8?q?T'=20e=20realizamos=20a=20corre=C3=A7=C3=A3o=20necess=C3=A1ria?= =?UTF-8?q?=20na=20fun=C3=A7=C3=A3o=20patchMessageBeforeSending=20para=20o?= =?UTF-8?q?=20tipo=20'SINGLE=5FSELECT'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/whatsapp/services/whatsapp.service.ts | 56 ++++++++++------------- 1 file changed, 25 insertions(+), 31 deletions(-) diff --git a/src/whatsapp/services/whatsapp.service.ts b/src/whatsapp/services/whatsapp.service.ts index f222d5b7..9b9d0234 100644 --- a/src/whatsapp/services/whatsapp.service.ts +++ b/src/whatsapp/services/whatsapp.service.ts @@ -1413,22 +1413,19 @@ export class WAStartupService { syncFullHistory: false, userDevicesCache: this.userDevicesCache, transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 10 }, - patchMessageBeforeSending: (message) => { - const requiresPatch = !!(message.buttonsMessage || message.listMessage || message.templateMessage); - if (requiresPatch) { - message = { - viewOnceMessageV2: { - message: { - messageContextInfo: { - deviceListMetadataVersion: 2, - deviceListMetadata: {}, - }, - ...message, - }, - }, - }; + patchMessageBeforeSending(message) { + if (message.deviceSentMessage?.message?.listMessage?.listType === proto.Message.ListMessage.ListType.PRODUCT_LIST) { + message = JSON.parse(JSON.stringify(message)); + + message.deviceSentMessage.message.listMessage.listType = proto.Message.ListMessage.ListType.SINGLE_SELECT; } - + + if (message.listMessage?.listType == proto.Message.ListMessage.ListType.PRODUCT_LIST) { + message = JSON.parse(JSON.stringify(message)); + + message.listMessage.listType = proto.Message.ListMessage.ListType.SINGLE_SELECT; + } + return message; }, }; @@ -1500,22 +1497,19 @@ export class WAStartupService { syncFullHistory: false, userDevicesCache: this.userDevicesCache, transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 10 }, - patchMessageBeforeSending: (message) => { - const requiresPatch = !!(message.buttonsMessage || message.listMessage || message.templateMessage); - if (requiresPatch) { - message = { - viewOnceMessageV2: { - message: { - messageContextInfo: { - deviceListMetadataVersion: 2, - deviceListMetadata: {}, - }, - ...message, - }, - }, - }; + patchMessageBeforeSending(message) { + if (message.deviceSentMessage?.message?.listMessage?.listType === proto.Message.ListMessage.ListType.PRODUCT_LIST) { + message = JSON.parse(JSON.stringify(message)); + + message.deviceSentMessage.message.listMessage.listType = proto.Message.ListMessage.ListType.SINGLE_SELECT; } - + + if (message.listMessage?.listType == proto.Message.ListMessage.ListType.PRODUCT_LIST) { + message = JSON.parse(JSON.stringify(message)); + + message.listMessage.listType = proto.Message.ListMessage.ListType.SINGLE_SELECT; + } + return message; }, }; @@ -3012,7 +3006,7 @@ export class WAStartupService { buttonText: data.listMessage?.buttonText, footerText: data.listMessage?.footerText, sections: data.listMessage.sections, - listType: 1, + listType: 2, }, }, data?.options,