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); }