From 83567d64669ac7ca9c0e9a2930511484a49356b3 Mon Sep 17 00:00:00 2001 From: nestordavalos Date: Sat, 5 Oct 2024 22:49:30 -0400 Subject: [PATCH] fix: Corrected audio file handling in WhatsApp An error in the WhatsApp audio message handler has been fixed. The system now checks if the file has a valid buffer before sending it. Additionally, validation has been added to verify if the audio is a valid URL or Base64. If these conditions are not met, an error message is shown, and a BadRequestException is thrown. --- src/api/controllers/sendMessage.controller.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/api/controllers/sendMessage.controller.ts b/src/api/controllers/sendMessage.controller.ts index 0d6ea33e..6f60ceb9 100644 --- a/src/api/controllers/sendMessage.controller.ts +++ b/src/api/controllers/sendMessage.controller.ts @@ -47,11 +47,14 @@ export class SendMessageController { } public async sendWhatsAppAudio({ instanceName }: InstanceDto, data: SendAudioDto, file?: any) { - if (file || isURL(data.audio) || isBase64(data.audio)) { - return await this.waMonitor.waInstances[instanceName].audioWhatsapp(data, file); + if (file?.buffer || isURL(data.audio) || isBase64(data.audio)) { + // Si file existe y tiene buffer, o si es una URL o Base64, continĂºa + return await this.waMonitor.waInstances[instanceName].audioWhatsapp(data, file); + } else { + console.error('El archivo no tiene buffer o el audio no es una URL o Base64 vĂ¡lida'); + throw new BadRequestException('Owned media must be a url, base64, or valid file with buffer'); } - throw new BadRequestException('Owned media must be a url or base64'); - } +} public async sendButtons({ instanceName }: InstanceDto, data: SendButtonDto) { return await this.waMonitor.waInstances[instanceName].buttonMessage(data);