added typebot integration activation

This commit is contained in:
Davidson Gomes
2024-06-06 16:44:18 -03:00
parent 1be9c7f95d
commit 161814a9e5
5 changed files with 52 additions and 25 deletions

View File

@@ -16,6 +16,7 @@ import {
Log,
Rabbitmq,
Sqs,
Typebot,
Webhook,
Websocket,
} from '../../config/env.config';
@@ -681,6 +682,9 @@ export class ChannelStartupService {
}
public async loadTypebot() {
if (!this.configService.get<Typebot>('TYPEBOT').ENABLED) {
return;
}
this.logger.verbose('Loading typebot');
const data = await this.prismaRepository.typebot.findUnique({
where: {
@@ -721,6 +725,10 @@ export class ChannelStartupService {
}
public async setTypebot(data: TypebotDto) {
if (!this.configService.get<Typebot>('TYPEBOT').ENABLED) {
this.logger.verbose('Typebot is not enabled');
return;
}
this.logger.verbose('Setting typebot');
const typebot = await this.prismaRepository.typebot.create({
@@ -754,6 +762,10 @@ export class ChannelStartupService {
}
public async findTypebot() {
if (!this.configService.get<Typebot>('TYPEBOT').ENABLED) {
this.logger.verbose('Typebot is not enabled');
return;
}
this.logger.verbose('Finding typebot');
const data = await this.prismaRepository.typebot.findUnique({
where: {

View File

@@ -64,6 +64,7 @@ import {
Log,
ProviderSession,
QrCode,
Typebot,
} from '../../../config/env.config';
import { INSTANCE_DIR } from '../../../config/path.config';
import { BadRequestException, InternalServerErrorException, NotFoundException } from '../../../exceptions';
@@ -1225,18 +1226,20 @@ export class BaileysStartupService extends ChannelStartupService {
}
}
const typebotSessionRemoteJid = this.localTypebot.sessions?.find(
(session) => session.remoteJid === received.key.remoteJid,
);
if (this.configService.get<Typebot>('TYPEBOT').ENABLED) {
const typebotSessionRemoteJid = this.localTypebot.sessions?.find(
(session) => session.remoteJid === received.key.remoteJid,
);
if ((this.localTypebot.enabled && type === 'notify') || typebotSessionRemoteJid) {
if (!(this.localTypebot.listeningFromMe === false && messageRaw.key.fromMe === true)) {
if (messageRaw.messageType !== 'reactionMessage')
await this.typebotService.sendTypebot(
{ instanceName: this.instance.name },
messageRaw.key.remoteJid,
messageRaw,
);
if ((this.localTypebot.enabled && type === 'notify') || typebotSessionRemoteJid) {
if (!(this.localTypebot.listeningFromMe === false && messageRaw.key.fromMe === true)) {
if (messageRaw.messageType !== 'reactionMessage')
await this.typebotService.sendTypebot(
{ instanceName: this.instance.name },
messageRaw.key.remoteJid,
messageRaw,
);
}
}
}

View File

@@ -5,7 +5,7 @@ import FormData from 'form-data';
import fs from 'fs/promises';
import { getMIMEType } from 'node-mime-types';
import { Chatwoot, ConfigService, Database, WaBusiness } from '../../../config/env.config';
import { Chatwoot, ConfigService, Database, Typebot, WaBusiness } from '../../../config/env.config';
import { BadRequestException, InternalServerErrorException } from '../../../exceptions';
import { NumberBusiness } from '../../dto/chat.dto';
import {
@@ -425,18 +425,20 @@ export class BusinessStartupService extends ChannelStartupService {
}
}
const typebotSessionRemoteJid = this.localTypebot.sessions?.find(
(session) => session.remoteJid === key.remoteJid,
);
if (this.configService.get<Typebot>('TYPEBOT').ENABLED) {
const typebotSessionRemoteJid = this.localTypebot.sessions?.find(
(session) => session.remoteJid === key.remoteJid,
);
if (this.localTypebot.enabled || typebotSessionRemoteJid) {
if (!(this.localTypebot.listeningFromMe === false && key.fromMe === true)) {
if (messageRaw.messageType !== 'reactionMessage')
await this.typebotService.sendTypebot(
{ instanceName: this.instance.name },
messageRaw.key.remoteJid,
messageRaw,
);
if (this.localTypebot.enabled || typebotSessionRemoteJid) {
if (!(this.localTypebot.listeningFromMe === false && key.fromMe === true)) {
if (messageRaw.messageType !== 'reactionMessage')
await this.typebotService.sendTypebot(
{ instanceName: this.instance.name },
messageRaw.key.remoteJid,
messageRaw,
);
}
}
}