mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-18 03:29:15 +00:00
59 lines
1.6 KiB
JavaScript
59 lines
1.6 KiB
JavaScript
/**
|
|
* [ ] Escuchar eventos del provider asegurarte que los provider emitan eventos
|
|
* [ ] Guardar historial en db
|
|
* [ ] Buscar mensaje en flow
|
|
*
|
|
*/
|
|
class BotClass {
|
|
flowClass
|
|
databaseClass
|
|
providerClass
|
|
constructor(_flow, _database, _provider) {
|
|
this.flowClass = _flow
|
|
this.databaseClass = _database
|
|
this.providerClass = _provider
|
|
|
|
this.providerClass.on('require_action', (a) => console.log('here??', a))
|
|
this.providerClass.on('ready', (a) => console.log('ready??', a))
|
|
this.providerClass.on('auth_failure', (a) =>
|
|
console.log('auth_failure??', a)
|
|
)
|
|
this.providerClass.on('authenticated', (a) =>
|
|
console.log('authenticated??', a)
|
|
)
|
|
this.providerClass.on('message', (message) =>
|
|
console.log('message?', message)
|
|
)
|
|
}
|
|
|
|
/**
|
|
* @private
|
|
* @param {*} ctxMessage
|
|
*/
|
|
handleOnMessage = (ctxMessage) => {
|
|
this.databaseClass.saveLog(ctxMessage)
|
|
this.continue(ctxMessage)
|
|
}
|
|
|
|
handleEvents = (eventName) => {
|
|
if (eventName === 'message') return
|
|
if (eventName === 'auth_success') return
|
|
if (eventName === 'auth_error') return
|
|
}
|
|
|
|
/**
|
|
* @private
|
|
* @param {*} message
|
|
* @param {*} ref
|
|
*/
|
|
continue = (message, ref = false) => {
|
|
const responde = this.flowClass.find(message, ref)
|
|
if (responde) {
|
|
this.providerClass.sendMessage(responde.answer)
|
|
this.databaseClass.saveLog(responde.answer)
|
|
this.continue(null, responde.ref)
|
|
}
|
|
}
|
|
}
|
|
module.exports = BotClass
|