Skip to content

Commit 6ff9c45

Browse files
committed
Fixed problem with starting with an input in typebot
1 parent 33acfe1 commit 6ff9c45

File tree

2 files changed

+112
-2
lines changed

2 files changed

+112
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
* Correction of messages sent by the api and typebot not appearing in chatwoot
1313
* Adjustment to start typebot, added startSession parameter
1414
* Chatwoot now receives messages sent via api and typebot
15+
* Fixed problem with starting with an input in typebot
1516

1617
# 1.5.2 (2023-09-28 17:56)
1718

src/whatsapp/services/typebot.service.ts

Lines changed: 111 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ export class TypebotService {
149149
const id = Math.floor(Math.random() * 10000000000).toString();
150150

151151
const reqData = {
152-
sessionId: id,
153152
startParams: {
154153
typebot: data.typebot,
155154
prefilledVariables: prefilledVariables,
@@ -227,7 +226,6 @@ export class TypebotService {
227226
public async createNewSession(instance: InstanceDto, data: any) {
228227
const id = Math.floor(Math.random() * 10000000000).toString();
229228
const reqData = {
230-
sessionId: id,
231229
startParams: {
232230
typebot: data.typebot,
233231
prefilledVariables: {
@@ -461,6 +459,62 @@ export class TypebotService {
461459

462460
await this.sendWAMessage(instance, remoteJid, data.messages, data.input, data.clientSideActions);
463461

462+
if (data.messages.length === 0) {
463+
const content = this.getConversationMessage(msg.message);
464+
465+
if (!content) {
466+
if (unknown_message) {
467+
this.waMonitor.waInstances[instance.instanceName].textMessage({
468+
number: remoteJid.split('@')[0],
469+
options: {
470+
delay: delay_message || 1000,
471+
presence: 'composing',
472+
},
473+
textMessage: {
474+
text: unknown_message,
475+
},
476+
});
477+
}
478+
return;
479+
}
480+
481+
if (keyword_finish && content.toLowerCase() === keyword_finish.toLowerCase()) {
482+
sessions.splice(sessions.indexOf(session), 1);
483+
484+
const typebotData = {
485+
enabled: true,
486+
url: url,
487+
typebot: typebot,
488+
expire: expire,
489+
keyword_finish: keyword_finish,
490+
delay_message: delay_message,
491+
unknown_message: unknown_message,
492+
listening_from_me: listening_from_me,
493+
sessions,
494+
};
495+
496+
this.create(instance, typebotData);
497+
498+
return;
499+
}
500+
501+
const reqData = {
502+
message: content,
503+
sessionId: data.sessionId,
504+
};
505+
506+
const request = await axios.post(url + '/api/v1/sendMessage', reqData);
507+
508+
console.log('request', request);
509+
await this.sendWAMessage(
510+
instance,
511+
remoteJid,
512+
request.data.messages,
513+
request.data.input,
514+
request.data.clientSideActions,
515+
);
516+
}
517+
464518
return;
465519
}
466520
}
@@ -485,6 +539,61 @@ export class TypebotService {
485539

486540
await this.sendWAMessage(instance, remoteJid, data.messages, data.input, data.clientSideActions);
487541

542+
if (data.messages.length === 0) {
543+
const content = this.getConversationMessage(msg.message);
544+
545+
if (!content) {
546+
if (unknown_message) {
547+
this.waMonitor.waInstances[instance.instanceName].textMessage({
548+
number: remoteJid.split('@')[0],
549+
options: {
550+
delay: delay_message || 1000,
551+
presence: 'composing',
552+
},
553+
textMessage: {
554+
text: unknown_message,
555+
},
556+
});
557+
}
558+
return;
559+
}
560+
561+
if (keyword_finish && content.toLowerCase() === keyword_finish.toLowerCase()) {
562+
sessions.splice(sessions.indexOf(session), 1);
563+
564+
const typebotData = {
565+
enabled: true,
566+
url: url,
567+
typebot: typebot,
568+
expire: expire,
569+
keyword_finish: keyword_finish,
570+
delay_message: delay_message,
571+
unknown_message: unknown_message,
572+
listening_from_me: listening_from_me,
573+
sessions,
574+
};
575+
576+
this.create(instance, typebotData);
577+
578+
return;
579+
}
580+
581+
const reqData = {
582+
message: content,
583+
sessionId: data.sessionId,
584+
};
585+
586+
const request = await axios.post(url + '/api/v1/sendMessage', reqData);
587+
588+
console.log('request', request);
589+
await this.sendWAMessage(
590+
instance,
591+
remoteJid,
592+
request.data.messages,
593+
request.data.input,
594+
request.data.clientSideActions,
595+
);
596+
}
488597
return;
489598
}
490599

0 commit comments

Comments
 (0)