Skip to content

Commit 487d8b9

Browse files
committed
fix: startTypebot with startSession = true
1 parent db065ab commit 487d8b9

File tree

3 files changed

+88
-79
lines changed

3 files changed

+88
-79
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
* Chatwoot verbose logs
2323
* Adjusts on prisma connections
2424
* License terms updated
25-
* fixed send message to group without no cache (local or redis)
25+
* Fixed send message to group without no cache (local or redis)
26+
* Fixed startTypebot with startSession = true
2627

2728
# 2.1.1 (2024-09-22 10:31)
2829

src/api/integrations/chatbot/typebot/controllers/typebot.controller.ts

Lines changed: 66 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -633,30 +633,19 @@ export class TypebotController extends ChatbotController implements ChatbotContr
633633
});
634634

635635
if (!findBot) {
636-
findBot = await this.botRepository.upsert({
637-
where: {
638-
url_typebot_instanceId: {
639-
url: url,
640-
typebot: typebot,
641-
instanceId: instanceData.id,
642-
},
643-
},
644-
update: {
645-
enabled: true,
646-
},
647-
create: {
636+
findBot = await this.botRepository.create({
637+
data: {
648638
enabled: true,
649639
url: url,
650640
typebot: typebot,
641+
instanceId: instanceData.id,
651642
expire: expire,
652-
triggerType: 'none',
653643
keywordFinish: keywordFinish,
654644
delayMessage: delayMessage,
655645
unknownMessage: unknownMessage,
656646
listeningFromMe: listeningFromMe,
657647
stopBotFromMe: stopBotFromMe,
658648
keepOpen: keepOpen,
659-
instanceId: instanceData.id,
660649
},
661650
});
662651
}
@@ -669,51 +658,69 @@ export class TypebotController extends ChatbotController implements ChatbotContr
669658
},
670659
});
671660

672-
const response = await this.typebotService.createNewSession(instanceData, {
673-
enabled: true,
674-
url: url,
675-
typebot: typebot,
676-
remoteJid: remoteJid,
677-
expire: expire,
678-
keywordFinish: keywordFinish,
679-
delayMessage: delayMessage,
680-
unknownMessage: unknownMessage,
681-
listeningFromMe: listeningFromMe,
682-
stopBotFromMe: stopBotFromMe,
683-
keepOpen: keepOpen,
684-
prefilledVariables: prefilledVariables,
685-
typebotId: findBot.id,
686-
});
687-
688-
if (response.sessionId) {
689-
await this.typebotService.sendWAMessage(
690-
instanceData,
691-
response.session,
692-
{
693-
expire: expire,
694-
keywordFinish: keywordFinish,
695-
delayMessage: delayMessage,
696-
unknownMessage: unknownMessage,
697-
listeningFromMe: listeningFromMe,
698-
stopBotFromMe: stopBotFromMe,
699-
keepOpen: keepOpen,
700-
},
701-
remoteJid,
702-
response.messages,
703-
response.input,
704-
response.clientSideActions,
705-
);
706-
707-
this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, {
708-
remoteJid: remoteJid,
709-
url: url,
710-
typebot: typebot,
711-
prefilledVariables: prefilledVariables,
712-
sessionId: `${response.sessionId}`,
713-
});
714-
} else {
715-
throw new Error('Session ID not found in response');
716-
}
661+
await this.typebotService.processTypebot(
662+
instanceData,
663+
remoteJid,
664+
null,
665+
null,
666+
findBot,
667+
url,
668+
expire,
669+
typebot,
670+
keywordFinish,
671+
delayMessage,
672+
unknownMessage,
673+
listeningFromMe,
674+
stopBotFromMe,
675+
keepOpen,
676+
'init',
677+
);
678+
679+
// const response = await this.typebotService.createNewSession(instanceData, {
680+
// enabled: true,
681+
// url: url,
682+
// typebot: typebot,
683+
// remoteJid: remoteJid,
684+
// expire: expire,
685+
// keywordFinish: keywordFinish,
686+
// delayMessage: delayMessage,
687+
// unknownMessage: unknownMessage,
688+
// listeningFromMe: listeningFromMe,
689+
// stopBotFromMe: stopBotFromMe,
690+
// keepOpen: keepOpen,
691+
// prefilledVariables: prefilledVariables,
692+
// typebotId: findBot.id,
693+
// });
694+
695+
// if (response.session) {
696+
// await this.typebotService.sendWAMessage(
697+
// instanceData,
698+
// response.session,
699+
// {
700+
// expire: expire,
701+
// keywordFinish: keywordFinish,
702+
// delayMessage: delayMessage,
703+
// unknownMessage: unknownMessage,
704+
// listeningFromMe: listeningFromMe,
705+
// stopBotFromMe: stopBotFromMe,
706+
// keepOpen: keepOpen,
707+
// },
708+
// remoteJid,
709+
// response.messages,
710+
// response.input,
711+
// response.clientSideActions,
712+
// );
713+
714+
// this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, {
715+
// remoteJid: remoteJid,
716+
// url: url,
717+
// typebot: typebot,
718+
// prefilledVariables: prefilledVariables,
719+
// sessionId: `${response.sessionId}`,
720+
// });
721+
// } else {
722+
// throw new Error('Session ID not found in response');
723+
// }
717724
} else {
718725
const id = Math.floor(Math.random() * 10000000000).toString();
719726

src/api/integrations/chatbot/typebot/services/typebot.service.ts

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,7 @@ export class TypebotService {
286286
}
287287
}
288288

289+
console.log('input', input);
289290
if (input) {
290291
if (input.type === 'choice input') {
291292
let formattedText = '';
@@ -402,24 +403,6 @@ export class TypebotService {
402403
session = data.session;
403404
}
404405

405-
await this.sendWAMessage(
406-
instance,
407-
session,
408-
{
409-
expire: expire,
410-
keywordFinish: keywordFinish,
411-
delayMessage: delayMessage,
412-
unknownMessage: unknownMessage,
413-
listeningFromMe: listeningFromMe,
414-
stopBotFromMe: stopBotFromMe,
415-
keepOpen: keepOpen,
416-
},
417-
remoteJid,
418-
data.messages,
419-
data.input,
420-
data.clientSideActions,
421-
);
422-
423406
if (data.messages.length === 0) {
424407
const content = getConversationMessage(msg.message);
425408

@@ -502,6 +485,24 @@ export class TypebotService {
502485
}
503486
}
504487

488+
await this.sendWAMessage(
489+
instance,
490+
session,
491+
{
492+
expire: expire,
493+
keywordFinish: keywordFinish,
494+
delayMessage: delayMessage,
495+
unknownMessage: unknownMessage,
496+
listeningFromMe: listeningFromMe,
497+
stopBotFromMe: stopBotFromMe,
498+
keepOpen: keepOpen,
499+
},
500+
remoteJid,
501+
data.messages,
502+
data.input,
503+
data.clientSideActions,
504+
);
505+
505506
return;
506507
}
507508
}
@@ -521,7 +522,7 @@ export class TypebotService {
521522
unknownMessage: unknownMessage,
522523
listeningFromMe: listeningFromMe,
523524
remoteJid: remoteJid,
524-
pushName: msg.pushName,
525+
pushName: msg?.pushName,
525526
botId: findTypebot.id,
526527
});
527528

0 commit comments

Comments
 (0)