feat: Open AI assistants implemented

This commit is contained in:
Davidson Gomes
2024-07-18 21:11:46 -03:00
parent 29b9e688a8
commit 51749e8712
6 changed files with 620 additions and 1018 deletions

View File

@@ -26,6 +26,7 @@ import { SettingsDto } from '../dto/settings.dto';
import { WebhookDto } from '../dto/webhook.dto';
import { ChatwootDto } from '../integrations/chatwoot/dto/chatwoot.dto';
import { ChatwootService } from '../integrations/chatwoot/services/chatwoot.service';
import { OpenaiService } from '../integrations/openai/services/openai.service';
import { RabbitmqDto } from '../integrations/rabbitmq/dto/rabbitmq.dto';
import { getAMQP, removeQueues } from '../integrations/rabbitmq/libs/amqp.server';
import { SqsDto } from '../integrations/sqs/dto/sqs.dto';
@@ -68,6 +69,8 @@ export class ChannelStartupService {
public typebotService = new TypebotService(waMonitor, this.configService, this.prismaRepository);
public openaiService = new OpenaiService(waMonitor, this.configService, this.prismaRepository);
public setInstance(instance: InstanceDto) {
this.logger.setInstance(instance.instanceName);

View File

@@ -69,6 +69,7 @@ import {
ConfigSessionPhone,
Database,
Log,
Openai,
ProviderSession,
QrCode,
S3,
@@ -1164,6 +1165,17 @@ export class BaileysStartupService extends ChannelStartupService {
}
}
if (this.configService.get<Openai>('OPENAI').ENABLED) {
if (type === 'notify') {
if (messageRaw.messageType !== 'reactionMessage')
await this.openaiService.sendOpenai(
{ instanceName: this.instance.name, instanceId: this.instanceId },
messageRaw.key.remoteJid,
messageRaw,
);
}
}
const contact = await this.prismaRepository.contact.findFirst({
where: { remoteJid: received.key.remoteJid, instanceId: this.instanceId },
});