diff --git a/packages/bot/core/core.class.js b/packages/bot/core/core.class.js index e04bd13..7411954 100644 --- a/packages/bot/core/core.class.js +++ b/packages/bot/core/core.class.js @@ -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 diff --git a/packages/provider/src/baileys/index.js b/packages/provider/src/baileys/index.js index 3855043..a0c8a84 100644 --- a/packages/provider/src/baileys/index.js +++ b/packages/provider/src/baileys/index.js @@ -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() diff --git a/packages/provider/src/venom/index.js b/packages/provider/src/venom/index.js index 1aafd80..8780e84 100644 --- a/packages/provider/src/venom/index.js +++ b/packages/provider/src/venom/index.js @@ -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`, ], }) }