diff --git a/src/whatsapp/services/chatwoot.service.ts b/src/whatsapp/services/chatwoot.service.ts index 802ea353..900f95b9 100644 --- a/src/whatsapp/services/chatwoot.service.ts +++ b/src/whatsapp/services/chatwoot.service.ts @@ -11,7 +11,6 @@ import { SendTextDto } from '../dto/sendMessage.dto'; import mimeTypes from 'mime-types'; import { SendAudioDto } from '../dto/sendMessage.dto'; import { SendMediaDto } from '../dto/sendMessage.dto'; -import NodeCache from 'node-cache'; import { ROOT_DIR } from '../../config/path.config'; export class ChatwootService { @@ -614,6 +613,7 @@ export class ChatwootService { const media = [ 'imageMessage', 'documentMessage', + 'documentWithCaptionMessage', 'audioMessage', 'videoMessage', 'stickerMessage', @@ -632,6 +632,8 @@ export class ChatwootService { messageContextInfo: msg.messageContextInfo?.stanzaId, stickerMessage: msg.stickerMessage?.fileSha256.toString('base64'), documentMessage: msg.documentMessage?.caption, + documentWithCaptionMessage: + msg.documentWithCaptionMessage?.message?.documentMessage?.caption, audioMessage: msg.audioMessage?.caption, }; diff --git a/src/whatsapp/whatsapp.module.ts b/src/whatsapp/whatsapp.module.ts index 64d463d2..c57b9bf8 100644 --- a/src/whatsapp/whatsapp.module.ts +++ b/src/whatsapp/whatsapp.module.ts @@ -116,6 +116,17 @@ export async function initInstance() { configService.get('AUTHENTICATION').INSTANCE.WEBHOOK_URL; logger.verbose('Instance webhook: ' + instanceWebhook); + const chatwootAccountId = + configService.get('AUTHENTICATION').INSTANCE.CHATWOOT_ACCOUNT_ID; + logger.verbose('Chatwoot account id: ' + chatwootAccountId); + + const chatwootToken = + configService.get('AUTHENTICATION').INSTANCE.CHATWOOT_TOKEN; + logger.verbose('Chatwoot token: ' + chatwootToken); + + const chatwootUrl = configService.get('AUTHENTICATION').INSTANCE.CHATWOOT_URL; + logger.verbose('Chatwoot url: ' + chatwootUrl); + instance.instanceName = instanceName; waMonitor.waInstances[instance.instanceName] = instance; @@ -137,6 +148,22 @@ export async function initInstance() { } } + if (chatwootUrl && chatwootToken && chatwootAccountId) { + logger.verbose('Creating chatwoot for instance: ' + instanceName); + try { + chatwootService.create(instance, { + enabled: true, + url: chatwootUrl, + token: chatwootToken, + account_id: chatwootAccountId, + sign_msg: false, + }); + logger.verbose('Chatwoot created'); + } catch (error) { + logger.log(error); + } + } + try { const state = instance.connectionStatus?.state;