From d47cc5d5f424840f59ee427bd71eff9b4e5e6461 Mon Sep 17 00:00:00 2001 From: Alan Mosko Date: Wed, 6 Sep 2023 16:11:59 -0300 Subject: [PATCH 1/3] wip --- src/libs/socket.server.ts | 2 +- src/main.ts | 2 +- src/whatsapp/services/whatsapp.service.ts | 6 ++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/libs/socket.server.ts b/src/libs/socket.server.ts index 9da11b0a..ecf01ab1 100644 --- a/src/libs/socket.server.ts +++ b/src/libs/socket.server.ts @@ -11,7 +11,7 @@ let io: SocketIO; const cors = configService.get('CORS').ORIGIN; export const initIO = (httpServer: Server) => { - if (configService.get('WEBSOCKET').ENABLED) { + if (configService.get('WEBSOCKET')?.ENABLED) { io = new SocketIO(httpServer, { cors: { origin: cors, diff --git a/src/main.ts b/src/main.ts index 75dd95b3..7974e9e5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -89,7 +89,7 @@ function bootstrap() { initIO(server); - if (configService.get('RABBITMQ').ENABLED) initAMQP(); + if (configService.get('RABBITMQ')?.ENABLED) initAMQP(); onUnexpectedError(); } diff --git a/src/whatsapp/services/whatsapp.service.ts b/src/whatsapp/services/whatsapp.service.ts index d11946ee..fe35e6ab 100644 --- a/src/whatsapp/services/whatsapp.service.ts +++ b/src/whatsapp/services/whatsapp.service.ts @@ -637,7 +637,7 @@ export class WAStartupService { } } - if (this.configService.get('WEBSOCKET').ENABLED && this.localWebsocket.enabled) { + if (this.configService.get('WEBSOCKET')?.ENABLED && this.localWebsocket.enabled) { this.logger.verbose('Sending data to websocket on channel: ' + this.instance.name); if (Array.isArray(websocketLocal) && websocketLocal.includes(we)) { this.logger.verbose('Sending data to websocket on event: ' + event); @@ -1844,8 +1844,7 @@ export class WAStartupService { private async sendMessageWithTyping(number: string, message: T, options?: Options) { this.logger.verbose('Sending message with typing'); - const numberWA = await this.whatsappNumber({ numbers: [number] }); - const isWA = numberWA[0]; + const isWA = (await this.whatsappNumber({ numbers: [number] }))?.shift(); if (!isWA.exists && !isJidGroup(isWA.jid) && !isWA.jid.includes('@broadcast')) { throw new BadRequestException(isWA); @@ -1911,7 +1910,6 @@ export class WAStartupService { const jid = this.createJid(mention); if (isJidGroup(jid)) { return null; - // throw new BadRequestException('Mentions must be a number'); } return jid; }); From 0c4c8162c22c0c238ff652fb573d9f0fe06a4eb5 Mon Sep 17 00:00:00 2001 From: Alan Mosko Date: Wed, 6 Sep 2023 16:18:48 -0300 Subject: [PATCH 2/3] wip --- src/whatsapp/services/whatsapp.service.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/whatsapp/services/whatsapp.service.ts b/src/whatsapp/services/whatsapp.service.ts index fe35e6ab..c8e3bdaa 100644 --- a/src/whatsapp/services/whatsapp.service.ts +++ b/src/whatsapp/services/whatsapp.service.ts @@ -1844,8 +1844,10 @@ export class WAStartupService { private async sendMessageWithTyping(number: string, message: T, options?: Options) { this.logger.verbose('Sending message with typing'); + this.logger.verbose(`Check if number "${number}" is WhatsApp`); const isWA = (await this.whatsappNumber({ numbers: [number] }))?.shift(); + this.logger.verbose(`Exists: "${isWA.exists}" | jid: ${isWA.jid}`); if (!isWA.exists && !isJidGroup(isWA.jid) && !isWA.jid.includes('@broadcast')) { throw new BadRequestException(isWA); } From 9a9cd41009e8a99f992feb54d2178e476f115733 Mon Sep 17 00:00:00 2001 From: Alan Mosko Date: Wed, 6 Sep 2023 16:24:13 -0300 Subject: [PATCH 3/3] wip --- src/whatsapp/services/whatsapp.service.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/whatsapp/services/whatsapp.service.ts b/src/whatsapp/services/whatsapp.service.ts index c8e3bdaa..c4b55773 100644 --- a/src/whatsapp/services/whatsapp.service.ts +++ b/src/whatsapp/services/whatsapp.service.ts @@ -1891,9 +1891,9 @@ export class WAStartupService { let mentions: string[]; if (isJidGroup(sender)) { try { - const groupMetadata = await this.client.groupMetadata(sender); + const group = await this.findGroup({ groupJid: sender }, 'inner'); - if (!groupMetadata) { + if (!group) { throw new NotFoundException('Group not found'); } @@ -1904,7 +1904,7 @@ export class WAStartupService { this.logger.verbose('Mentions everyone'); this.logger.verbose('Getting group metadata'); - mentions = groupMetadata.participants.map((participant) => participant.id); + mentions = group.participants.map((participant) => participant.id); this.logger.verbose('Getting group metadata for mentions'); } else if (options.mentions?.mentioned?.length) { this.logger.verbose('Mentions manually defined');