Update typebot.service.ts

This commit is contained in:
Francis Breit 2023-10-02 06:06:19 -03:00 committed by GitHub
parent 4b50ba79ec
commit 294def578e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -99,6 +99,8 @@ export class TypebotService {
const remoteJid = data.remoteJid; const remoteJid = data.remoteJid;
const url = data.url; const url = data.url;
const typebot = data.typebot; const typebot = data.typebot;
// linha incluida por Francis:
const enabled_typebot = data.enabled_typebot;
const variables = data.variables; const variables = data.variables;
const findTypebot = await this.find(instance); const findTypebot = await this.find(instance);
const sessions = (findTypebot.sessions as Session[]) ?? []; const sessions = (findTypebot.sessions as Session[]) ?? [];
@ -115,9 +117,16 @@ export class TypebotService {
variables.forEach((variable) => { variables.forEach((variable) => {
prefilledVariables[variable.name] = variable.value; prefilledVariables[variable.name] = variable.value;
}); });
// linha incluida por Francis:
if (enabled_typebot !== false ) {
let enabled_typebot = true;
const response = await this.createNewSession(instance, { const response = await this.createNewSession(instance, {
url: url, url: url,
// linha incluida por Francis:
enabled_typebot: enabled_typebot,
typebot: typebot, typebot: typebot,
remoteJid: remoteJid, remoteJid: remoteJid,
expire: expire, expire: expire,
@ -141,6 +150,8 @@ export class TypebotService {
this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, { this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, {
remoteJid: remoteJid, remoteJid: remoteJid,
url: url, url: url,
// linha incluida por Francis:
enabled_typebot: enabled_typebot,
typebot: typebot, typebot: typebot,
prefilledVariables: prefilledVariables, prefilledVariables: prefilledVariables,
sessionId: `${response.sessionId}`, sessionId: `${response.sessionId}`,
@ -148,11 +159,50 @@ export class TypebotService {
} else { } else {
throw new Error("Session ID not found in response"); throw new Error("Session ID not found in response");
} }
} else {
const id = Math.floor(Math.random() * 10000000000).toString();
const reqData = {
sessionId: id,
startParams: {
typebot: data.typebot,
prefilledVariables: prefilledVariables,
},
};
const request = await axios.post(data.url + '/api/v1/sendMessage', reqData);
await this.sendWAMessage(
instance,
remoteJid,
request.data.messages,
request.data.input,
request.data.clientSideActions,
);
this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, {
remoteJid: remoteJid,
url: url,
typebot: typebot,
variables: variables,
sessionId: id,
});
}
// ate aqui
return { return {
typebot: { typebot: {
...instance, ...instance,
typebot: { typebot: {
// linha incluida por Francis neu 4:
// enabled_typebot: enabled_typebot,
url: url, url: url,
remoteJid: remoteJid, remoteJid: remoteJid,
typebot: typebot, typebot: typebot,
@ -231,7 +281,8 @@ export class TypebotService {
}); });
const typebotData = { const typebotData = {
enabled: true, // linha incluida por Francis new4:
// enabled: data.enabled_typebot,
url: data.url, url: data.url,
typebot: data.typebot, typebot: data.typebot,
expire: data.expire, expire: data.expire,
@ -469,7 +520,6 @@ export class TypebotService {
}); });
const typebotData = { const typebotData = {
enabled: true,
url: url, url: url,
typebot: typebot, typebot: typebot,
expire: expire, expire: expire,
@ -504,7 +554,6 @@ export class TypebotService {
sessions.splice(sessions.indexOf(session), 1); sessions.splice(sessions.indexOf(session), 1);
const typebotData = { const typebotData = {
enabled: true,
url: url, url: url,
typebot: typebot, typebot: typebot,
expire: expire, expire: expire,