fix: startTypebot with startSession = true

This commit is contained in:
Davidson Gomes 2024-10-04 17:40:38 -03:00
parent db065ab942
commit 487d8b93fb
3 changed files with 86 additions and 77 deletions

View File

@ -22,7 +22,8 @@
* Chatwoot verbose logs
* Adjusts on prisma connections
* License terms updated
* fixed send message to group without no cache (local or redis)
* Fixed send message to group without no cache (local or redis)
* Fixed startTypebot with startSession = true
# 2.1.1 (2024-09-22 10:31)

View File

@ -633,30 +633,19 @@ export class TypebotController extends ChatbotController implements ChatbotContr
});
if (!findBot) {
findBot = await this.botRepository.upsert({
where: {
url_typebot_instanceId: {
url: url,
typebot: typebot,
instanceId: instanceData.id,
},
},
update: {
enabled: true,
},
create: {
findBot = await this.botRepository.create({
data: {
enabled: true,
url: url,
typebot: typebot,
instanceId: instanceData.id,
expire: expire,
triggerType: 'none',
keywordFinish: keywordFinish,
delayMessage: delayMessage,
unknownMessage: unknownMessage,
listeningFromMe: listeningFromMe,
stopBotFromMe: stopBotFromMe,
keepOpen: keepOpen,
instanceId: instanceData.id,
},
});
}
@ -669,51 +658,69 @@ export class TypebotController extends ChatbotController implements ChatbotContr
},
});
const response = await this.typebotService.createNewSession(instanceData, {
enabled: true,
url: url,
typebot: typebot,
remoteJid: remoteJid,
expire: expire,
keywordFinish: keywordFinish,
delayMessage: delayMessage,
unknownMessage: unknownMessage,
listeningFromMe: listeningFromMe,
stopBotFromMe: stopBotFromMe,
keepOpen: keepOpen,
prefilledVariables: prefilledVariables,
typebotId: findBot.id,
});
await this.typebotService.processTypebot(
instanceData,
remoteJid,
null,
null,
findBot,
url,
expire,
typebot,
keywordFinish,
delayMessage,
unknownMessage,
listeningFromMe,
stopBotFromMe,
keepOpen,
'init',
);
if (response.sessionId) {
await this.typebotService.sendWAMessage(
instanceData,
response.session,
{
expire: expire,
keywordFinish: keywordFinish,
delayMessage: delayMessage,
unknownMessage: unknownMessage,
listeningFromMe: listeningFromMe,
stopBotFromMe: stopBotFromMe,
keepOpen: keepOpen,
},
remoteJid,
response.messages,
response.input,
response.clientSideActions,
);
// const response = await this.typebotService.createNewSession(instanceData, {
// enabled: true,
// url: url,
// typebot: typebot,
// remoteJid: remoteJid,
// expire: expire,
// keywordFinish: keywordFinish,
// delayMessage: delayMessage,
// unknownMessage: unknownMessage,
// listeningFromMe: listeningFromMe,
// stopBotFromMe: stopBotFromMe,
// keepOpen: keepOpen,
// prefilledVariables: prefilledVariables,
// typebotId: findBot.id,
// });
this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, {
remoteJid: remoteJid,
url: url,
typebot: typebot,
prefilledVariables: prefilledVariables,
sessionId: `${response.sessionId}`,
});
} else {
throw new Error('Session ID not found in response');
}
// if (response.session) {
// await this.typebotService.sendWAMessage(
// instanceData,
// response.session,
// {
// expire: expire,
// keywordFinish: keywordFinish,
// delayMessage: delayMessage,
// unknownMessage: unknownMessage,
// listeningFromMe: listeningFromMe,
// stopBotFromMe: stopBotFromMe,
// keepOpen: keepOpen,
// },
// remoteJid,
// response.messages,
// response.input,
// response.clientSideActions,
// );
// this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, {
// remoteJid: remoteJid,
// url: url,
// typebot: typebot,
// prefilledVariables: prefilledVariables,
// sessionId: `${response.sessionId}`,
// });
// } else {
// throw new Error('Session ID not found in response');
// }
} else {
const id = Math.floor(Math.random() * 10000000000).toString();

View File

@ -286,6 +286,7 @@ export class TypebotService {
}
}
console.log('input', input);
if (input) {
if (input.type === 'choice input') {
let formattedText = '';
@ -402,24 +403,6 @@ export class TypebotService {
session = data.session;
}
await this.sendWAMessage(
instance,
session,
{
expire: expire,
keywordFinish: keywordFinish,
delayMessage: delayMessage,
unknownMessage: unknownMessage,
listeningFromMe: listeningFromMe,
stopBotFromMe: stopBotFromMe,
keepOpen: keepOpen,
},
remoteJid,
data.messages,
data.input,
data.clientSideActions,
);
if (data.messages.length === 0) {
const content = getConversationMessage(msg.message);
@ -502,6 +485,24 @@ export class TypebotService {
}
}
await this.sendWAMessage(
instance,
session,
{
expire: expire,
keywordFinish: keywordFinish,
delayMessage: delayMessage,
unknownMessage: unknownMessage,
listeningFromMe: listeningFromMe,
stopBotFromMe: stopBotFromMe,
keepOpen: keepOpen,
},
remoteJid,
data.messages,
data.input,
data.clientSideActions,
);
return;
}
}
@ -521,7 +522,7 @@ export class TypebotService {
unknownMessage: unknownMessage,
listeningFromMe: listeningFromMe,
remoteJid: remoteJid,
pushName: msg.pushName,
pushName: msg?.pushName,
botId: findTypebot.id,
});