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 9f93ac71..dc10105c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -125,7 +125,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 33f62536..c8b91384 100644 --- a/src/whatsapp/services/whatsapp.service.ts +++ b/src/whatsapp/services/whatsapp.service.ts @@ -711,7 +711,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); @@ -1954,9 +1954,10 @@ 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]; + 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); } @@ -2000,9 +2001,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'); } @@ -2013,7 +2014,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'); @@ -2021,7 +2022,6 @@ export class WAStartupService { const jid = this.createJid(mention); if (isJidGroup(jid)) { return null; - // throw new BadRequestException('Mentions must be a number'); } return jid; });