mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-16 12:12:55 -06:00
fix: in error catch in createNewSession
This commit is contained in:
parent
0817c2589f
commit
f710898844
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@ -7,5 +7,7 @@
|
|||||||
"editor.codeActionsOnSave": {
|
"editor.codeActionsOnSave": {
|
||||||
"source.fixAll.eslint": true,
|
"source.fixAll.eslint": true,
|
||||||
"source.fixAll": true
|
"source.fixAll": true
|
||||||
}
|
},
|
||||||
|
"prisma-smart-formatter.typescript.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"prisma-smart-formatter.prisma.defaultFormatter": "Prisma.prisma"
|
||||||
}
|
}
|
@ -47,7 +47,7 @@ export class TypebotService {
|
|||||||
findData.sessions.splice(findData.sessions.indexOf(session), 1);
|
findData.sessions.splice(findData.sessions.indexOf(session), 1);
|
||||||
|
|
||||||
const typebotData = {
|
const typebotData = {
|
||||||
enabled: true,
|
enabled: findData.enabled,
|
||||||
url: findData.url,
|
url: findData.url,
|
||||||
typebot: findData.typebot,
|
typebot: findData.typebot,
|
||||||
expire: findData.expire,
|
expire: findData.expire,
|
||||||
@ -71,7 +71,7 @@ export class TypebotService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const typebotData = {
|
const typebotData = {
|
||||||
enabled: true,
|
enabled: findData.enabled,
|
||||||
url: findData.url,
|
url: findData.url,
|
||||||
typebot: findData.typebot,
|
typebot: findData.typebot,
|
||||||
expire: findData.expire,
|
expire: findData.expire,
|
||||||
@ -104,7 +104,6 @@ export class TypebotService {
|
|||||||
const startSession = data.startSession;
|
const startSession = data.startSession;
|
||||||
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 expire = findTypebot.expire;
|
const expire = findTypebot.expire;
|
||||||
const keyword_finish = findTypebot.keyword_finish;
|
const keyword_finish = findTypebot.keyword_finish;
|
||||||
const delay_message = findTypebot.delay_message;
|
const delay_message = findTypebot.delay_message;
|
||||||
@ -116,12 +115,17 @@ export class TypebotService {
|
|||||||
instanceName: instance.instanceName,
|
instanceName: instance.instanceName,
|
||||||
};
|
};
|
||||||
|
|
||||||
variables.forEach((variable) => {
|
if (variables?.length) {
|
||||||
|
variables.forEach((variable: { name: string | number; value: string }) => {
|
||||||
prefilledVariables[variable.name] = variable.value;
|
prefilledVariables[variable.name] = variable.value;
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (startSession) {
|
if (startSession) {
|
||||||
|
const newSessions = await this.clearSessions(instance, remoteJid);
|
||||||
|
|
||||||
const response = await this.createNewSession(instance, {
|
const response = await this.createNewSession(instance, {
|
||||||
|
enabled: findTypebot.enabled,
|
||||||
url: url,
|
url: url,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
remoteJid: remoteJid,
|
remoteJid: remoteJid,
|
||||||
@ -130,7 +134,7 @@ export class TypebotService {
|
|||||||
delay_message: delay_message,
|
delay_message: delay_message,
|
||||||
unknown_message: unknown_message,
|
unknown_message: unknown_message,
|
||||||
listening_from_me: listening_from_me,
|
listening_from_me: listening_from_me,
|
||||||
sessions: sessions,
|
sessions: newSessions,
|
||||||
prefilledVariables: prefilledVariables,
|
prefilledVariables: prefilledVariables,
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -246,13 +250,8 @@ export class TypebotService {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let request: any;
|
|
||||||
try {
|
try {
|
||||||
request = await axios.post(data.url + '/api/v1/sendMessage', reqData);
|
const request = await axios.post(data.url + '/api/v1/sendMessage', reqData);
|
||||||
} catch (error) {
|
|
||||||
this.logger.error(error);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (request?.data?.sessionId) {
|
if (request?.data?.sessionId) {
|
||||||
data.sessions.push({
|
data.sessions.push({
|
||||||
@ -270,7 +269,7 @@ export class TypebotService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const typebotData = {
|
const typebotData = {
|
||||||
enabled: true,
|
enabled: data.enabled,
|
||||||
url: data.url,
|
url: data.url,
|
||||||
typebot: data.typebot,
|
typebot: data.typebot,
|
||||||
expire: data.expire,
|
expire: data.expire,
|
||||||
@ -283,8 +282,42 @@ export class TypebotService {
|
|||||||
|
|
||||||
this.create(instance, typebotData);
|
this.create(instance, typebotData);
|
||||||
}
|
}
|
||||||
|
|
||||||
return request.data;
|
return request.data;
|
||||||
|
} catch (error) {
|
||||||
|
this.logger.error(error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async clearSessions(instance: InstanceDto, remoteJid: string) {
|
||||||
|
const findTypebot = await this.find(instance);
|
||||||
|
const sessions = (findTypebot.sessions as Session[]) ?? [];
|
||||||
|
|
||||||
|
const sessionWithRemoteJid = sessions.filter((session) => session.remoteJid === remoteJid);
|
||||||
|
|
||||||
|
if (sessionWithRemoteJid.length > 0) {
|
||||||
|
sessionWithRemoteJid.forEach((session) => {
|
||||||
|
sessions.splice(sessions.indexOf(session), 1);
|
||||||
|
});
|
||||||
|
|
||||||
|
const typebotData = {
|
||||||
|
enabled: findTypebot.enabled,
|
||||||
|
url: findTypebot.url,
|
||||||
|
typebot: findTypebot.typebot,
|
||||||
|
expire: findTypebot.expire,
|
||||||
|
keyword_finish: findTypebot.keyword_finish,
|
||||||
|
delay_message: findTypebot.delay_message,
|
||||||
|
unknown_message: findTypebot.unknown_message,
|
||||||
|
listening_from_me: findTypebot.listening_from_me,
|
||||||
|
sessions,
|
||||||
|
};
|
||||||
|
|
||||||
|
this.create(instance, typebotData);
|
||||||
|
|
||||||
|
return sessions;
|
||||||
|
}
|
||||||
|
|
||||||
|
return sessions;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async sendWAMessage(
|
public async sendWAMessage(
|
||||||
@ -457,9 +490,10 @@ export class TypebotService {
|
|||||||
const diffInMinutes = Math.floor(diff / 1000 / 60);
|
const diffInMinutes = Math.floor(diff / 1000 / 60);
|
||||||
|
|
||||||
if (diffInMinutes > expire) {
|
if (diffInMinutes > expire) {
|
||||||
sessions.splice(sessions.indexOf(session), 1);
|
const newSessions = await this.clearSessions(instance, remoteJid);
|
||||||
|
|
||||||
const data = await this.createNewSession(instance, {
|
const data = await this.createNewSession(instance, {
|
||||||
|
enabled: findTypebot.enabled,
|
||||||
url: url,
|
url: url,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
expire: expire,
|
expire: expire,
|
||||||
@ -467,7 +501,7 @@ export class TypebotService {
|
|||||||
delay_message: delay_message,
|
delay_message: delay_message,
|
||||||
unknown_message: unknown_message,
|
unknown_message: unknown_message,
|
||||||
listening_from_me: listening_from_me,
|
listening_from_me: listening_from_me,
|
||||||
sessions: sessions,
|
sessions: newSessions,
|
||||||
remoteJid: remoteJid,
|
remoteJid: remoteJid,
|
||||||
pushName: msg.pushName,
|
pushName: msg.pushName,
|
||||||
});
|
});
|
||||||
@ -494,10 +528,10 @@ export class TypebotService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (keyword_finish && content.toLowerCase() === keyword_finish.toLowerCase()) {
|
if (keyword_finish && content.toLowerCase() === keyword_finish.toLowerCase()) {
|
||||||
sessions.splice(sessions.indexOf(session), 1);
|
const newSessions = await this.clearSessions(instance, remoteJid);
|
||||||
|
|
||||||
const typebotData = {
|
const typebotData = {
|
||||||
enabled: true,
|
enabled: findTypebot.enabled,
|
||||||
url: url,
|
url: url,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
expire: expire,
|
expire: expire,
|
||||||
@ -505,7 +539,7 @@ export class TypebotService {
|
|||||||
delay_message: delay_message,
|
delay_message: delay_message,
|
||||||
unknown_message: unknown_message,
|
unknown_message: unknown_message,
|
||||||
listening_from_me: listening_from_me,
|
listening_from_me: listening_from_me,
|
||||||
sessions,
|
sessions: newSessions,
|
||||||
};
|
};
|
||||||
|
|
||||||
this.create(instance, typebotData);
|
this.create(instance, typebotData);
|
||||||
@ -521,7 +555,6 @@ export class TypebotService {
|
|||||||
try {
|
try {
|
||||||
const request = await axios.post(url + '/api/v1/sendMessage', reqData);
|
const request = await axios.post(url + '/api/v1/sendMessage', reqData);
|
||||||
|
|
||||||
console.log('request', request);
|
|
||||||
await this.sendWAMessage(
|
await this.sendWAMessage(
|
||||||
instance,
|
instance,
|
||||||
remoteJid,
|
remoteJid,
|
||||||
@ -545,6 +578,7 @@ export class TypebotService {
|
|||||||
|
|
||||||
if (!session) {
|
if (!session) {
|
||||||
const data = await this.createNewSession(instance, {
|
const data = await this.createNewSession(instance, {
|
||||||
|
enabled: findTypebot.enabled,
|
||||||
url: url,
|
url: url,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
expire: expire,
|
expire: expire,
|
||||||
@ -582,7 +616,7 @@ export class TypebotService {
|
|||||||
sessions.splice(sessions.indexOf(session), 1);
|
sessions.splice(sessions.indexOf(session), 1);
|
||||||
|
|
||||||
const typebotData = {
|
const typebotData = {
|
||||||
enabled: true,
|
enabled: findTypebot.enabled,
|
||||||
url: url,
|
url: url,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
expire: expire,
|
expire: expire,
|
||||||
@ -606,8 +640,6 @@ export class TypebotService {
|
|||||||
let request: any;
|
let request: any;
|
||||||
try {
|
try {
|
||||||
request = await axios.post(url + '/api/v1/sendMessage', reqData);
|
request = await axios.post(url + '/api/v1/sendMessage', reqData);
|
||||||
|
|
||||||
console.log('request', request);
|
|
||||||
await this.sendWAMessage(
|
await this.sendWAMessage(
|
||||||
instance,
|
instance,
|
||||||
remoteJid,
|
remoteJid,
|
||||||
@ -630,7 +662,7 @@ export class TypebotService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const typebotData = {
|
const typebotData = {
|
||||||
enabled: true,
|
enabled: findTypebot.enabled,
|
||||||
url: url,
|
url: url,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
expire: expire,
|
expire: expire,
|
||||||
@ -665,7 +697,7 @@ export class TypebotService {
|
|||||||
sessions.splice(sessions.indexOf(session), 1);
|
sessions.splice(sessions.indexOf(session), 1);
|
||||||
|
|
||||||
const typebotData = {
|
const typebotData = {
|
||||||
enabled: true,
|
enabled: findTypebot.enabled,
|
||||||
url: url,
|
url: url,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
expire: expire,
|
expire: expire,
|
||||||
|
Loading…
Reference in New Issue
Block a user