From 1595da789dc9e4ee90961185a2b723be64a0945b Mon Sep 17 00:00:00 2001 From: Davidson Gomes Date: Sun, 18 Feb 2024 08:43:40 -0300 Subject: [PATCH] fix: adjusts in messageType --- src/whatsapp/services/monitor.service.ts | 2 +- .../services/whatsapp.business.service.ts | 30 +++++++++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/whatsapp/services/monitor.service.ts b/src/whatsapp/services/monitor.service.ts index ca1a79df..c46a88be 100644 --- a/src/whatsapp/services/monitor.service.ts +++ b/src/whatsapp/services/monitor.service.ts @@ -335,7 +335,7 @@ export class WAMonitoringService { const integration = await this.repository.integration.find(name); let instance: BaileysStartupService | BusinessStartupService; - if (integration.integration === Integration.WHATSAPP_BUSINESS) { + if (integration && integration.integration === Integration.WHATSAPP_BUSINESS) { instance = new BusinessStartupService( this.configService, this.eventEmitter, diff --git a/src/whatsapp/services/whatsapp.business.service.ts b/src/whatsapp/services/whatsapp.business.service.ts index 3ed1391c..74e28365 100644 --- a/src/whatsapp/services/whatsapp.business.service.ts +++ b/src/whatsapp/services/whatsapp.business.service.ts @@ -266,6 +266,30 @@ export class BusinessStartupService extends WAStartupService { return content; } + private async renderMessageType(type: string) { + let messageType: string; + + switch (type) { + case 'image': + messageType = 'imageMessage'; + break; + case 'video': + messageType = 'videoMessage'; + break; + case 'audio': + messageType = 'audioMessage'; + break; + case 'document': + messageType = 'documentMessage'; + break; + default: + messageType = 'imageMessage'; + break; + } + + return messageType; + } + protected async messageHandle(received: any, database: Database, settings: SettingsRaw) { try { let messageRaw: MessageRaw; @@ -293,7 +317,7 @@ export class BusinessStartupService extends WAStartupService { ...this.messageMediaJson(received), base64: buffer ? buffer.toString('base64') : undefined, }, - messageType: received.messages[0].type, + messageType: await this.renderMessageType(received.messages[0].type), messageTimestamp: received.messages[0].timestamp as number, owner: this.instance.name, // source: getDevice(received.key.id), @@ -305,7 +329,7 @@ export class BusinessStartupService extends WAStartupService { message: { ...this.messageInteractiveJson(received), }, - messageType: 'text', + messageType: 'conversation', messageTimestamp: received.messages[0].timestamp as number, owner: this.instance.name, // source: getDevice(received.key.id), @@ -317,7 +341,7 @@ export class BusinessStartupService extends WAStartupService { message: { ...this.messageContactsJson(received), }, - messageType: 'text', + messageType: 'conversation', messageTimestamp: received.messages[0].timestamp as number, owner: this.instance.name, // source: getDevice(received.key.id),