From 73c003907b7c7f6941c3566a3b0b3db25ecb41a9 Mon Sep 17 00:00:00 2001 From: Davidson Gomes Date: Wed, 27 Mar 2024 14:54:51 -0300 Subject: [PATCH 1/2] rabbitmq --- src/whatsapp/services/whatsapp.service.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/whatsapp/services/whatsapp.service.ts b/src/whatsapp/services/whatsapp.service.ts index 29c58f6c..67430eb4 100644 --- a/src/whatsapp/services/whatsapp.service.ts +++ b/src/whatsapp/services/whatsapp.service.ts @@ -687,14 +687,14 @@ export class WAStartupService { if (Array.isArray(rabbitmqLocal) && rabbitmqLocal.includes(we)) { const exchangeName = this.instanceName ?? 'evolution_exchange'; - amqp.assertExchange(exchangeName, 'topic', { + await amqp.assertExchange(exchangeName, 'topic', { durable: true, autoDelete: false, }); const queueName = `${this.instanceName}.${event}`; - amqp.assertQueue(queueName, { + await amqp.assertQueue(queueName, { durable: true, autoDelete: false, arguments: { @@ -702,7 +702,7 @@ export class WAStartupService { }, }); - amqp.bindQueue(queueName, exchangeName, event); + await amqp.bindQueue(queueName, exchangeName, event); const message = { event, @@ -717,7 +717,7 @@ export class WAStartupService { message['apikey'] = instanceApikey; } - amqp.publish(exchangeName, event, Buffer.from(JSON.stringify(message))); + await amqp.publish(exchangeName, event, Buffer.from(JSON.stringify(message))); if (this.configService.get('LOG').LEVEL.includes('WEBHOOKS')) { const logData = { From 9f1003e94eab81b2478a7d85c93a7a54d8d02688 Mon Sep 17 00:00:00 2001 From: Davidson Gomes Date: Wed, 27 Mar 2024 15:05:00 -0300 Subject: [PATCH 2/2] rabbitmq --- .../services/whatsapp.baileys.service.ts | 2 +- src/whatsapp/services/whatsapp.service.ts | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/whatsapp/services/whatsapp.baileys.service.ts b/src/whatsapp/services/whatsapp.baileys.service.ts index e9e7147a..f99e074d 100644 --- a/src/whatsapp/services/whatsapp.baileys.service.ts +++ b/src/whatsapp/services/whatsapp.baileys.service.ts @@ -472,7 +472,7 @@ export class BaileysStartupService extends WAStartupService { if (this.localProxy.enabled) { this.logger.info('Proxy enabled: ' + this.localProxy.proxy); - if (this.localProxy.proxy.host.includes('proxyscrape')) { + if (this.localProxy?.proxy?.host?.includes('proxyscrape')) { try { const response = await axios.get(this.localProxy.proxy.host); const text = response.data; diff --git a/src/whatsapp/services/whatsapp.service.ts b/src/whatsapp/services/whatsapp.service.ts index 67430eb4..030285b8 100644 --- a/src/whatsapp/services/whatsapp.service.ts +++ b/src/whatsapp/services/whatsapp.service.ts @@ -663,6 +663,18 @@ export class WAStartupService { }; } + private assertExchangeAsync = (channel, exchangeName, exchangeType, options) => { + return new Promise((resolve, reject) => { + channel.assertExchange(exchangeName, exchangeType, options, (error, ok) => { + if (error) { + reject(error); + } else { + resolve(ok); + } + }); + }); + }; + public async sendDataWebhook(event: Events, data: T, local = true) { const webhookGlobal = this.configService.get('WEBHOOK'); const webhookLocal = this.localWebhook.events; @@ -687,7 +699,12 @@ export class WAStartupService { if (Array.isArray(rabbitmqLocal) && rabbitmqLocal.includes(we)) { const exchangeName = this.instanceName ?? 'evolution_exchange'; - await amqp.assertExchange(exchangeName, 'topic', { + // await amqp.assertExchange(exchangeName, 'topic', { + // durable: true, + // autoDelete: false, + // }); + + await this.assertExchangeAsync(amqp, exchangeName, 'topic', { durable: true, autoDelete: false, });