From 837e9253901fd36ea246447a179639b53d8be84d Mon Sep 17 00:00:00 2001 From: canove Date: Thu, 29 Oct 2020 10:55:02 -0300 Subject: [PATCH] fix: sending a media from phone to gruop results in a new ticket with isGroup=false --- .../WbotServices/wbotMessageListener.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/backend/src/services/WbotServices/wbotMessageListener.ts b/backend/src/services/WbotServices/wbotMessageListener.ts index 6904fec..8367a65 100644 --- a/backend/src/services/WbotServices/wbotMessageListener.ts +++ b/backend/src/services/WbotServices/wbotMessageListener.ts @@ -273,7 +273,10 @@ const wbotMessageListener = (wbot: Session): void => { if (msg.fromMe) { msgContact = await wbot.getContactById(msg.to); - // return if it's a media message, it will be handled by media_uploaded event + // media messages sent from me from cell phone, first comes with "hasMedia = false" and type = "image/ptt/etc" + // the media itself comes on body of message,in base64 + // if this is the case, return and let this media be handled by media_uploaded event + // it should be improove to handle the base64 media here in future versions if (!msg.hasMedia && msg.type !== "chat" && msg.type !== "vcard") return; @@ -310,8 +313,18 @@ const wbotMessageListener = (wbot: Session): void => { try { let groupContact: Contact | undefined; const msgContact = await wbot.getContactById(msg.to); - if (msg.author) { - const msgGroupContact = await wbot.getContactById(msg.from); + + const chat = await msg.getChat(); + + if (chat.isGroup) { + let msgGroupContact; + + if (msg.fromMe) { + msgGroupContact = await wbot.getContactById(msg.to); + } else { + msgGroupContact = await wbot.getContactById(msg.from); + } + groupContact = await verifyGroup(msgGroupContact); }