fix(bot): 🚑 fix callback functions

This commit is contained in:
Leifer Mendez
2022-12-19 11:45:39 +01:00
parent b4aea18b63
commit 964a074aa4
3 changed files with 41 additions and 10 deletions

View File

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

View File

@@ -1,7 +1,9 @@
const { ProviderClass } = require('@bot-whatsapp/bot') const { ProviderClass } = require('@bot-whatsapp/bot')
const pino = require('pino') const pino = require('pino')
const mime = require('mime-types') const mime = require('mime-types')
const fs = require('fs') const { existsSync, createWriteStream } = require('fs')
const { Console } = require('console')
const { const {
default: makeWASocket, default: makeWASocket,
useMultiFileAuthState, useMultiFileAuthState,
@@ -12,6 +14,10 @@ const {
baileyIsValidNumber, baileyIsValidNumber,
} = require('./utils') } = require('./utils')
const logger = new Console({
stdout: createWriteStream(`${process.cwd()}/baileys.log`),
})
/** /**
* ⚙️ BaileysProvider: Es una clase tipo adaptor * ⚙️ BaileysProvider: Es una clase tipo adaptor
* que extiende clases de ProviderClass (la cual es como interfaz para sber que funciones rqueridas) * 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) { } 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) => { sendFile = async (number, filePath) => {
if (fs.existsSync(filePath)) { if (existsSync(filePath)) {
const mimeType = mime.lookup(filePath) const mimeType = mime.lookup(filePath)
const numberClean = number.replace('+', '') const numberClean = number.replace('+', '')
const fileName = filePath.split('/').pop() const fileName = filePath.split('/').pop()

View File

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