Merge pull request #198 from gabrielpastori1/fix-typebot-error-handle

Handle erros in Typebot
This commit is contained in:
Davidson Gomes 2023-11-09 14:32:30 -03:00 committed by GitHub
commit c619e253a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 228 additions and 198 deletions

View File

@ -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"
} }

View File

@ -96,6 +96,8 @@ export class TypebotService {
} }
public async startTypebot(instance: InstanceDto, data: any) { public async startTypebot(instance: InstanceDto, data: any) {
if (data.remoteJid === 'status@broadcast') return;
const remoteJid = data.remoteJid; const remoteJid = data.remoteJid;
const url = data.url; const url = data.url;
const typebot = data.typebot; const typebot = data.typebot;
@ -159,6 +161,7 @@ export class TypebotService {
}, },
}; };
try {
const request = await axios.post(data.url + '/api/v1/sendMessage', reqData); const request = await axios.post(data.url + '/api/v1/sendMessage', reqData);
await this.sendWAMessage( await this.sendWAMessage(
@ -176,6 +179,10 @@ export class TypebotService {
variables: variables, variables: variables,
sessionId: id, sessionId: id,
}); });
} catch (error) {
this.logger.error(error);
return;
}
} }
return { return {
@ -228,7 +235,9 @@ export class TypebotService {
} }
public async createNewSession(instance: InstanceDto, data: any) { public async createNewSession(instance: InstanceDto, data: any) {
if (data.remoteJid === 'status@broadcast') return;
const id = Math.floor(Math.random() * 10000000000).toString(); const id = Math.floor(Math.random() * 10000000000).toString();
const reqData = { const reqData = {
startParams: { startParams: {
typebot: data.typebot, typebot: data.typebot,
@ -241,9 +250,10 @@ export class TypebotService {
}, },
}; };
try {
const request = await axios.post(data.url + '/api/v1/sendMessage', reqData); const request = await axios.post(data.url + '/api/v1/sendMessage', reqData);
if (request.data.sessionId) { if (request?.data?.sessionId) {
data.sessions.push({ data.sessions.push({
remoteJid: data.remoteJid, remoteJid: data.remoteJid,
sessionId: `${id}-${request.data.sessionId}`, sessionId: `${id}-${request.data.sessionId}`,
@ -272,8 +282,11 @@ 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) { public async clearSessions(instance: InstanceDto, remoteJid: string) {
@ -469,6 +482,7 @@ export class TypebotService {
const session = sessions.find((session) => session.remoteJid === remoteJid); const session = sessions.find((session) => session.remoteJid === remoteJid);
try {
if (session && expire && expire > 0) { if (session && expire && expire > 0) {
const now = Date.now(); const now = Date.now();
@ -539,6 +553,7 @@ export class TypebotService {
sessionId: data.sessionId, sessionId: data.sessionId,
}; };
try {
const request = await axios.post(url + '/api/v1/sendMessage', reqData); const request = await axios.post(url + '/api/v1/sendMessage', reqData);
await this.sendWAMessage( await this.sendWAMessage(
@ -548,6 +563,10 @@ export class TypebotService {
request.data.input, request.data.input,
request.data.clientSideActions, request.data.clientSideActions,
); );
} catch (error) {
this.logger.error(error);
return;
}
} }
return; return;
@ -619,8 +638,9 @@ export class TypebotService {
sessionId: data.sessionId, sessionId: data.sessionId,
}; };
const request = await axios.post(url + '/api/v1/sendMessage', reqData); let request: any;
try {
request = await axios.post(url + '/api/v1/sendMessage', reqData);
await this.sendWAMessage( await this.sendWAMessage(
instance, instance,
remoteJid, remoteJid,
@ -628,6 +648,10 @@ export class TypebotService {
request.data.input, request.data.input,
request.data.clientSideActions, request.data.clientSideActions,
); );
} catch (error) {
this.logger.error(error);
return;
}
} }
return; return;
} }
@ -706,5 +730,9 @@ export class TypebotService {
); );
return; return;
} catch (error) {
this.logger.error(error);
return;
}
} }
} }