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 * Chatwoot verbose logs
* Adjusts on prisma connections * Adjusts on prisma connections
* License terms updated * 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) # 2.1.1 (2024-09-22 10:31)

View File

@ -633,30 +633,19 @@ export class TypebotController extends ChatbotController implements ChatbotContr
}); });
if (!findBot) { if (!findBot) {
findBot = await this.botRepository.upsert({ findBot = await this.botRepository.create({
where: { data: {
url_typebot_instanceId: {
url: url,
typebot: typebot,
instanceId: instanceData.id,
},
},
update: {
enabled: true,
},
create: {
enabled: true, enabled: true,
url: url, url: url,
typebot: typebot, typebot: typebot,
instanceId: instanceData.id,
expire: expire, expire: expire,
triggerType: 'none',
keywordFinish: keywordFinish, keywordFinish: keywordFinish,
delayMessage: delayMessage, delayMessage: delayMessage,
unknownMessage: unknownMessage, unknownMessage: unknownMessage,
listeningFromMe: listeningFromMe, listeningFromMe: listeningFromMe,
stopBotFromMe: stopBotFromMe, stopBotFromMe: stopBotFromMe,
keepOpen: keepOpen, keepOpen: keepOpen,
instanceId: instanceData.id,
}, },
}); });
} }
@ -669,51 +658,69 @@ export class TypebotController extends ChatbotController implements ChatbotContr
}, },
}); });
const response = await this.typebotService.createNewSession(instanceData, { await this.typebotService.processTypebot(
enabled: true, instanceData,
url: url, remoteJid,
typebot: typebot, null,
remoteJid: remoteJid, null,
expire: expire, findBot,
keywordFinish: keywordFinish, url,
delayMessage: delayMessage, expire,
unknownMessage: unknownMessage, typebot,
listeningFromMe: listeningFromMe, keywordFinish,
stopBotFromMe: stopBotFromMe, delayMessage,
keepOpen: keepOpen, unknownMessage,
prefilledVariables: prefilledVariables, listeningFromMe,
typebotId: findBot.id, stopBotFromMe,
}); keepOpen,
'init',
);
if (response.sessionId) { // const response = await this.typebotService.createNewSession(instanceData, {
await this.typebotService.sendWAMessage( // enabled: true,
instanceData, // url: url,
response.session, // typebot: typebot,
{ // remoteJid: remoteJid,
expire: expire, // expire: expire,
keywordFinish: keywordFinish, // keywordFinish: keywordFinish,
delayMessage: delayMessage, // delayMessage: delayMessage,
unknownMessage: unknownMessage, // unknownMessage: unknownMessage,
listeningFromMe: listeningFromMe, // listeningFromMe: listeningFromMe,
stopBotFromMe: stopBotFromMe, // stopBotFromMe: stopBotFromMe,
keepOpen: keepOpen, // keepOpen: keepOpen,
}, // prefilledVariables: prefilledVariables,
remoteJid, // typebotId: findBot.id,
response.messages, // });
response.input,
response.clientSideActions,
);
this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, { // if (response.session) {
remoteJid: remoteJid, // await this.typebotService.sendWAMessage(
url: url, // instanceData,
typebot: typebot, // response.session,
prefilledVariables: prefilledVariables, // {
sessionId: `${response.sessionId}`, // expire: expire,
}); // keywordFinish: keywordFinish,
} else { // delayMessage: delayMessage,
throw new Error('Session ID not found in response'); // 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 { } else {
const id = Math.floor(Math.random() * 10000000000).toString(); 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) {
if (input.type === 'choice input') { if (input.type === 'choice input') {
let formattedText = ''; let formattedText = '';
@ -402,24 +403,6 @@ export class TypebotService {
session = data.session; 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) { if (data.messages.length === 0) {
const content = getConversationMessage(msg.message); 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; return;
} }
} }
@ -521,7 +522,7 @@ export class TypebotService {
unknownMessage: unknownMessage, unknownMessage: unknownMessage,
listeningFromMe: listeningFromMe, listeningFromMe: listeningFromMe,
remoteJid: remoteJid, remoteJid: remoteJid,
pushName: msg.pushName, pushName: msg?.pushName,
botId: findTypebot.id, botId: findTypebot.id,
}); });