From 09d718c360be6cf1f723c5d592d6e781ab074338 Mon Sep 17 00:00:00 2001 From: Luis-Fernando <136400011+Azzybot@users.noreply.github.com> Date: Wed, 27 Mar 2024 18:30:18 -0300 Subject: [PATCH] Update typebot.service.ts --- src/whatsapp/services/typebot.service.ts | 45 +++++++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/src/whatsapp/services/typebot.service.ts b/src/whatsapp/services/typebot.service.ts index 1aa63b99..3cf392a6 100644 --- a/src/whatsapp/services/typebot.service.ts +++ b/src/whatsapp/services/typebot.service.ts @@ -268,18 +268,53 @@ export class TypebotService { }; } + function extractMessageContent(message: any) { + switch (message.type) { + case 'conversation': + case 'extendedTextMessage': + return message.content.text || message.content.extendedTextMessage?.text; + case 'imageMessage': + return message.content.imageMessage?.url; + case 'audioMessage': + return message.content.audioMessage?.url; + case 'videoMessage': + return message.content.videoMessage?.url; + case 'documentMessage': + return message.content.documentMessage?.url; + case 'contactMessage': + return message.content.contactMessage.displayName; + case 'listResponseMessage': + return message.content.listResponseMessage.singleSelectReply?.selectedRowId; + case 'locationMessage': + return JSON.stringify({ + lat: message.content.locationMessage.degreesLatitude, + lng: message.content.locationMessage.degreesLongitude, + }); + default: + return ''; + } + } + private getTypeMessage(msg: any) { this.logger.verbose('get type message'); const types = { conversation: msg.conversation, - extendedTextMessage: msg.extendedTextMessage?.text, - responseRowId: msg.listResponseMessage?.singleSelectReply?.selectedRowId, + extendedTextMessage: msg.extendedTextMessage, + imageMessage: msg.imageMessage, + audioMessage: msg.audioMessage, + videoMessage: msg.videoMessage, + documentMessage: msg.documentMessage, + contactMessage: msg.contactMessage, + listResponseMessage: msg.listResponseMessage, + locationMessage: msg.locationMessage, }; - this.logger.verbose('type message: ' + types); - - return types; + const messageContent = extractMessageContent(types[Object.keys(types).find((key) => types[key])]); + + this.logger.verbose('conversation message: ' + messageContent); + + return messageContent; } private getMessageContent(types: any) {