From c531906de2f61d3db3fcd0f0c5d66581fafc85e1 Mon Sep 17 00:00:00 2001 From: Davidson Gomes Date: Sat, 24 Aug 2024 14:57:54 -0300 Subject: [PATCH] fix: duplicated bot when use startTypebot --- .../whatsapp/whatsapp.baileys.service.ts | 10 +++++ .../typebot/controllers/typebot.controller.ts | 44 ++++++------------- 2 files changed, 23 insertions(+), 31 deletions(-) diff --git a/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts b/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts index 504f0160..fd1cd491 100644 --- a/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts +++ b/src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts @@ -1037,6 +1037,11 @@ export class BaileysStartupService extends ChannelStartupService { source: getDevice(received.key.id), }; + if (messageRaw.message.extendedTextMessage) { + messageRaw.message.conversation = messageRaw.message.extendedTextMessage.text; + delete messageRaw.message.extendedTextMessage; + } + const isMedia = received?.message?.imageMessage || received?.message?.videoMessage || @@ -1937,6 +1942,11 @@ export class BaileysStartupService extends ChannelStartupService { source: getDevice(messageSent.key.id), }; + if (messageRaw.message.extendedTextMessage) { + messageRaw.message.conversation = messageRaw.message.extendedTextMessage.text; + delete messageRaw.message.extendedTextMessage; + } + this.logger.log(messageRaw); this.sendDataWebhook(Events.SEND_MESSAGE, messageRaw); diff --git a/src/api/integrations/chatbot/typebot/controllers/typebot.controller.ts b/src/api/integrations/chatbot/typebot/controllers/typebot.controller.ts index 6f9fdc15..c5c09e3c 100644 --- a/src/api/integrations/chatbot/typebot/controllers/typebot.controller.ts +++ b/src/api/integrations/chatbot/typebot/controllers/typebot.controller.ts @@ -577,35 +577,7 @@ export class TypebotController extends ChatbotController implements ChatbotContr }, }); - if (defaultSettingCheck?.ignoreJids) { - const ignoreJids: any = defaultSettingCheck.ignoreJids; - - let ignoreGroups = false; - let ignoreContacts = false; - - if (ignoreJids.includes('@g.us')) { - ignoreGroups = true; - } - - if (ignoreJids.includes('@s.whatsapp.net')) { - ignoreContacts = true; - } - - if (ignoreGroups && remoteJid.includes('@g.us')) { - this.logger.warn('Ignoring message from group: ' + remoteJid); - throw new Error('Group not allowed'); - } - - if (ignoreContacts && remoteJid.includes('@s.whatsapp.net')) { - this.logger.warn('Ignoring message from contact: ' + remoteJid); - throw new Error('Contact not allowed'); - } - - if (ignoreJids.includes(remoteJid)) { - this.logger.warn('Ignoring message from jid: ' + remoteJid); - throw new Error('Jid not allowed'); - } - } + if (this.checkIgnoreJids(defaultSettingCheck?.ignoreJids, remoteJid)) throw new Error('Jid not allowed'); if ( !expire || @@ -661,8 +633,18 @@ export class TypebotController extends ChatbotController implements ChatbotContr }); if (!findBot) { - findBot = await this.botRepository.create({ - data: { + findBot = await this.botRepository.upsert({ + where: { + url_typebot_instanceId: { + url: url, + typebot: typebot, + instanceId: instanceData.id, + }, + }, + update: { + enabled: true, + }, + create: { enabled: true, url: url, typebot: typebot,