fix(bot): 🚑 fix callback functions

fix(bot): 🚑 fix callback functions
#252 Closed
This commit is contained in:
Leifer Mendez
2022-12-19 11:49:16 +01:00
committed by GitHub
3 changed files with 41 additions and 10 deletions

View File

@@ -92,14 +92,25 @@ class CoreClass {
return refToContinue
}
// 📄 [options: callback]: Si se tiene un callback se ejecuta
if (!fallBackFlag && refToContinue && prevMsg?.options?.callback) {
const indexFlow = this.flowClass.findIndexByRef(refToContinue?.ref)
// 📄 Se encarga de revisar si el contexto del mensaje tiene callback y ejecutarlo
const cbEveryCtx = (inRef) => {
const indexFlow = this.flowClass.findIndexByRef(inRef)
this.flowClass.allCallbacks[indexFlow].callback(messageInComming, {
fallBack,
})
}
// 📄 [options: callback]: Si se tiene un callback se ejecuta
if (!fallBackFlag) {
if (refToContinue && prevMsg?.options?.callback) {
cbEveryCtx(refToContinue?.ref)
} else {
for (const ite of this.flowClass.find(body)) {
cbEveryCtx(ite?.ref)
}
}
}
// 📄🤘(tiene return) [options: nested(array)]: Si se tiene flujos hijos los implementa
if (!fallBackFlag && prevMsg?.options?.nested?.length) {
const nestedRef = prevMsg.options.nested

View File

@@ -1,7 +1,9 @@
const { ProviderClass } = require('@bot-whatsapp/bot')
const pino = require('pino')
const mime = require('mime-types')
const fs = require('fs')
const { existsSync, createWriteStream } = require('fs')
const { Console } = require('console')
const {
default: makeWASocket,
useMultiFileAuthState,
@@ -12,6 +14,10 @@ const {
baileyIsValidNumber,
} = require('./utils')
const logger = new Console({
stdout: createWriteStream(`${process.cwd()}/baileys.log`),
})
/**
* ⚙️ BaileysProvider: Es una clase tipo adaptor
* que extiende clases de ProviderClass (la cual es como interfaz para sber que funciones rqueridas)
@@ -49,7 +55,14 @@ class BaileysProvider extends ProviderClass {
}
)
} catch (e) {
this.emit('error', e)
logger.log(e)
this.emit('auth_failure', [
`Algo inesperado ha ocurrido NO entres en pánico`,
`Reinicia el BOT`,
`Tambien puedes mirar un log que se ha creado baileys.log`,
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
`(Puedes abrir un ISSUE) https://github.com/codigoencasa/bot-whatsapp/issues/new/choose`,
])
}
}
@@ -177,7 +190,7 @@ class BaileysProvider extends ProviderClass {
*/
sendFile = async (number, filePath) => {
if (fs.existsSync(filePath)) {
if (existsSync(filePath)) {
const mimeType = mime.lookup(filePath)
const numberClean = number.replace('+', '')
const fileName = filePath.split('/').pop()

View File

@@ -1,11 +1,18 @@
const { ProviderClass } = require('@bot-whatsapp/bot')
const venom = require('venom-bot')
const { createWriteStream } = require('fs')
const { Console } = require('console')
const {
venomCleanNumber,
venomGenerateImage,
venomisValidNumber,
} = require('./utils')
const logger = new Console({
stdout: createWriteStream(`${process.cwd()}/venom.log`),
})
/**
* ⚙️ VenomProvider: Es una clase tipo adaptor
* que extiende clases de ProviderClass (la cual es como interfaz para sber que funciones rqueridas)
@@ -34,13 +41,13 @@ class VenomProvider extends ProviderClass {
)
this.vendor = client
} catch (e) {
logger.log(e)
this.emit('auth_failure', {
instructions: [
`Ocurrio un error con la inicializacion de venom`,
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
`(Puedes abrir un ISSUE) https://github.com/leifermendez/bot-whatsapp/issues/new/choose`,
``,
`${e?.message}`,
`Reinicia el BOT`,
`Tambien puedes mirar un log que se ha creado venom.log`,
`(Puedes abrir un ISSUE) https://github.com/codigoencasa/bot-whatsapp/issues/new/choose`,
],
})
}