| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 0817c25 commit f710898
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -7,5 +7,7 @@ | |||
| 7 | 7 | "editor.codeActionsOnSave": { | |
| 8 | 8 | "source.fixAll.eslint": true, | |
| 9 | 9 | "source.fixAll": true | |
| 10 | - } | ||
| 10 | + }, | ||
| 11 | + "prisma-smart-formatter.typescript.defaultFormatter": "esbenp.prettier-vscode", | ||
| 12 | + "prisma-smart-formatter.prisma.defaultFormatter": "Prisma.prisma" | ||
| 11 | 13 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -47,7 +47,7 @@ export class TypebotService { | |||
| 47 | 47 | findData.sessions.splice(findData.sessions.indexOf(session), 1); | |
| 48 | 48 | ||
| 49 | 49 | const typebotData = { | |
| 50 | - enabled: true, | ||
| 50 | + enabled: findData.enabled, | ||
| 51 | 51 | url: findData.url, | |
| 52 | 52 | typebot: findData.typebot, | |
| 53 | 53 | expire: findData.expire, | |
@@ -71,7 +71,7 @@ export class TypebotService { | |||
| 71 | 71 | } | |
| 72 | 72 | ||
| 73 | 73 | const typebotData = { | |
| 74 | - enabled: true, | ||
| 74 | + enabled: findData.enabled, | ||
| 75 | 75 | url: findData.url, | |
| 76 | 76 | typebot: findData.typebot, | |
| 77 | 77 | expire: findData.expire, | |
@@ -104,7 +104,6 @@ export class TypebotService { | |||
| 104 | 104 | const startSession = data.startSession; | |
| 105 | 105 | const variables = data.variables; | |
| 106 | 106 | const findTypebot = await this.find(instance); | |
| 107 | - const sessions = (findTypebot.sessions as Session[]) ?? []; | ||
| 108 | 107 | const expire = findTypebot.expire; | |
| 109 | 108 | const keyword_finish = findTypebot.keyword_finish; | |
| 110 | 109 | const delay_message = findTypebot.delay_message; | |
@@ -116,12 +115,17 @@ export class TypebotService { | |||
| 116 | 115 | instanceName: instance.instanceName, | |
| 117 | 116 | }; | |
| 118 | 117 | ||
| 119 | - variables.forEach((variable) => { | ||
| 120 | - prefilledVariables[variable.name] = variable.value; | ||
| 121 | - }); | ||
| 118 | + if (variables?.length) { | ||
| 119 | + variables.forEach((variable: { name: string | number; value: string }) => { | ||
| 120 | + prefilledVariables[variable.name] = variable.value; | ||
| 121 | + }); | ||
| 122 | + } | ||
| 122 | 123 | ||
| 123 | 124 | if (startSession) { | |
| 125 | + const newSessions = await this.clearSessions(instance, remoteJid); | ||
| 126 | + | ||
| 124 | 127 | const response = await this.createNewSession(instance, { | |
| 128 | + enabled: findTypebot.enabled, | ||
| 125 | 129 | url: url, | |
| 126 | 130 | typebot: typebot, | |
| 127 | 131 | remoteJid: remoteJid, | |
@@ -130,7 +134,7 @@ export class TypebotService { | |||
| 130 | 134 | delay_message: delay_message, | |
| 131 | 135 | unknown_message: unknown_message, | |
| 132 | 136 | listening_from_me: listening_from_me, | |
| 133 | - sessions: sessions, | ||
| 137 | + sessions: newSessions, | ||
| 134 | 138 | prefilledVariables: prefilledVariables, | |
| 135 | 139 | }); | |
| 136 | 140 | ||
@@ -246,45 +250,74 @@ export class TypebotService { | |||
| 246 | 250 | }, | |
| 247 | 251 | }; | |
| 248 | 252 | ||
| 249 | - let request: any; | ||
| 250 | 253 | try { | |
| 251 | - request = await axios.post(data.url + '/api/v1/sendMessage', reqData); | ||
| 254 | + const request = await axios.post(data.url + '/api/v1/sendMessage', reqData); | ||
| 255 | + | ||
| 256 | + if (request?.data?.sessionId) { | ||
| 257 | + data.sessions.push({ | ||
| 258 | + remoteJid: data.remoteJid, | ||
| 259 | + sessionId: `${id}-${request.data.sessionId}`, | ||
| 260 | + status: 'opened', | ||
| 261 | + createdAt: Date.now(), | ||
| 262 | + updateAt: Date.now(), | ||
| 263 | + prefilledVariables: { | ||
| 264 | + ...data.prefilledVariables, | ||
| 265 | + remoteJid: data.remoteJid, | ||
| 266 | + pushName: data.pushName || '', | ||
| 267 | + instanceName: instance.instanceName, | ||
| 268 | + }, | ||
| 269 | + }); | ||
| 270 | + | ||
| 271 | + const typebotData = { | ||
| 272 | + enabled: data.enabled, | ||
| 273 | + url: data.url, | ||
| 274 | + typebot: data.typebot, | ||
| 275 | + expire: data.expire, | ||
| 276 | + keyword_finish: data.keyword_finish, | ||
| 277 | + delay_message: data.delay_message, | ||
| 278 | + unknown_message: data.unknown_message, | ||
| 279 | + listening_from_me: data.listening_from_me, | ||
| 280 | + sessions: data.sessions, | ||
| 281 | + }; | ||
| 282 | + | ||
| 283 | + this.create(instance, typebotData); | ||
| 284 | + } | ||
| 285 | + return request.data; | ||
| 252 | 286 | } catch (error) { | |
| 253 | 287 | this.logger.error(error); | |
| 254 | 288 | return; | |
| 255 | 289 | } | |
| 290 | + } | ||
| 256 | 291 | ||
| 257 | - if (request?.data?.sessionId) { | ||
| 258 | - data.sessions.push({ | ||
| 259 | - remoteJid: data.remoteJid, | ||
| 260 | - sessionId: `${id}-${request.data.sessionId}`, | ||
| 261 | - status: 'opened', | ||
| 262 | - createdAt: Date.now(), | ||
| 263 | - updateAt: Date.now(), | ||
| 264 | - prefilledVariables: { | ||
| 265 | - ...data.prefilledVariables, | ||
| 266 | - remoteJid: data.remoteJid, | ||
| 267 | - pushName: data.pushName || '', | ||
| 268 | - instanceName: instance.instanceName, | ||
| 269 | - }, | ||
| 292 | + public async clearSessions(instance: InstanceDto, remoteJid: string) { | ||
| 293 | + const findTypebot = await this.find(instance); | ||
| 294 | + const sessions = (findTypebot.sessions as Session[]) ?? []; | ||
| 295 | + | ||
| 296 | + const sessionWithRemoteJid = sessions.filter((session) => session.remoteJid === remoteJid); | ||
| 297 | + | ||
| 298 | + if (sessionWithRemoteJid.length > 0) { | ||
| 299 | + sessionWithRemoteJid.forEach((session) => { | ||
| 300 | + sessions.splice(sessions.indexOf(session), 1); | ||
| 270 | 301 | }); | |
| 271 | 302 | ||
| 272 | 303 | const typebotData = { | |
| 273 | - enabled: true, | ||
| 274 | - url: data.url, | ||
| 275 | - typebot: data.typebot, | ||
| 276 | - expire: data.expire, | ||
| 277 | - keyword_finish: data.keyword_finish, | ||
| 278 | - delay_message: data.delay_message, | ||
| 279 | - unknown_message: data.unknown_message, | ||
| 280 | - listening_from_me: data.listening_from_me, | ||
| 281 | - sessions: data.sessions, | ||
| 304 | + enabled: findTypebot.enabled, | ||
| 305 | + url: findTypebot.url, | ||
| 306 | + typebot: findTypebot.typebot, | ||
| 307 | + expire: findTypebot.expire, | ||
| 308 | + keyword_finish: findTypebot.keyword_finish, | ||
| 309 | + delay_message: findTypebot.delay_message, | ||
| 310 | + unknown_message: findTypebot.unknown_message, | ||
| 311 | + listening_from_me: findTypebot.listening_from_me, | ||
| 312 | + sessions, | ||
| 282 | 313 | }; | |
| 283 | 314 | ||
| 284 | 315 | this.create(instance, typebotData); | |
| 316 | + | ||
| 317 | + return sessions; | ||
| 285 | 318 | } | |
| 286 | 319 | ||
| 287 | - return request.data; | ||
| 320 | + return sessions; | ||
| 288 | 321 | } | |
| 289 | 322 | ||
| 290 | 323 | public async sendWAMessage( | |
@@ -457,17 +490,18 @@ export class TypebotService { | |||
| 457 | 490 | const diffInMinutes = Math.floor(diff / 1000 / 60); | |
| 458 | 491 | ||
| 459 | 492 | if (diffInMinutes > expire) { | |
| 460 | - sessions.splice(sessions.indexOf(session), 1); | ||
| 493 | + const newSessions = await this.clearSessions(instance, remoteJid); | ||
| 461 | 494 | ||
| 462 | 495 | const data = await this.createNewSession(instance, { | |
| 496 | + enabled: findTypebot.enabled, | ||
| 463 | 497 | url: url, | |
| 464 | 498 | typebot: typebot, | |
| 465 | 499 | expire: expire, | |
| 466 | 500 | keyword_finish: keyword_finish, | |
| 467 | 501 | delay_message: delay_message, | |
| 468 | 502 | unknown_message: unknown_message, | |
| 469 | 503 | listening_from_me: listening_from_me, | |
| 470 | - sessions: sessions, | ||
| 504 | + sessions: newSessions, | ||
| 471 | 505 | remoteJid: remoteJid, | |
| 472 | 506 | pushName: msg.pushName, | |
| 473 | 507 | }); | |
@@ -494,18 +528,18 @@ export class TypebotService { | |||
| 494 | 528 | } | |
| 495 | 529 | ||
| 496 | 530 | if (keyword_finish && content.toLowerCase() === keyword_finish.toLowerCase()) { | |
| 497 | - sessions.splice(sessions.indexOf(session), 1); | ||
| 531 | + const newSessions = await this.clearSessions(instance, remoteJid); | ||
| 498 | 532 | ||
| 499 | 533 | const typebotData = { | |
| 500 | - enabled: true, | ||
| 534 | + enabled: findTypebot.enabled, | ||
| 501 | 535 | url: url, | |
| 502 | 536 | typebot: typebot, | |
| 503 | 537 | expire: expire, | |
| 504 | 538 | keyword_finish: keyword_finish, | |
| 505 | 539 | delay_message: delay_message, | |
| 506 | 540 | unknown_message: unknown_message, | |
| 507 | 541 | listening_from_me: listening_from_me, | |
| 508 | - sessions, | ||
| 542 | + sessions: newSessions, | ||
| 509 | 543 | }; | |
| 510 | 544 | ||
| 511 | 545 | this.create(instance, typebotData); | |
@@ -521,7 +555,6 @@ export class TypebotService { | |||
| 521 | 555 | try { | |
| 522 | 556 | const request = await axios.post(url + '/api/v1/sendMessage', reqData); | |
| 523 | 557 | ||
| 524 | - console.log('request', request); | ||
| 525 | 558 | await this.sendWAMessage( | |
| 526 | 559 | instance, | |
| 527 | 560 | remoteJid, | |
@@ -545,6 +578,7 @@ export class TypebotService { | |||
| 545 | 578 | ||
| 546 | 579 | if (!session) { | |
| 547 | 580 | const data = await this.createNewSession(instance, { | |
| 581 | + enabled: findTypebot.enabled, | ||
| 548 | 582 | url: url, | |
| 549 | 583 | typebot: typebot, | |
| 550 | 584 | expire: expire, | |
@@ -582,7 +616,7 @@ export class TypebotService { | |||
| 582 | 616 | sessions.splice(sessions.indexOf(session), 1); | |
| 583 | 617 | ||
| 584 | 618 | const typebotData = { | |
| 585 | - enabled: true, | ||
| 619 | + enabled: findTypebot.enabled, | ||
| 586 | 620 | url: url, | |
| 587 | 621 | typebot: typebot, | |
| 588 | 622 | expire: expire, | |
@@ -606,8 +640,6 @@ export class TypebotService { | |||
| 606 | 640 | let request: any; | |
| 607 | 641 | try { | |
| 608 | 642 | request = await axios.post(url + '/api/v1/sendMessage', reqData); | |
| 609 | - | ||
| 610 | - console.log('request', request); | ||
| 611 | 643 | await this.sendWAMessage( | |
| 612 | 644 | instance, | |
| 613 | 645 | remoteJid, | |
@@ -630,7 +662,7 @@ export class TypebotService { | |||
| 630 | 662 | }); | |
| 631 | 663 | ||
| 632 | 664 | const typebotData = { | |
| 633 | - enabled: true, | ||
| 665 | + enabled: findTypebot.enabled, | ||
| 634 | 666 | url: url, | |
| 635 | 667 | typebot: typebot, | |
| 636 | 668 | expire: expire, | |
@@ -665,7 +697,7 @@ export class TypebotService { | |||
| 665 | 697 | sessions.splice(sessions.indexOf(session), 1); | |
| 666 | 698 | ||
| 667 | 699 | const typebotData = { | |
| 668 | - enabled: true, | ||
| 700 | + enabled: findTypebot.enabled, | ||
| 669 | 701 | url: url, | |
| 670 | 702 | typebot: typebot, | |
| 671 | 703 | expire: expire, | |
| Back | FazBrowse Home | New Git URL |
0 commit comments