mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
102 lines
3.0 KiB
JavaScript
102 lines
3.0 KiB
JavaScript
const { getData, getReply } = require('./mysql')
|
|
const { getDataIa } = require('./diaglogflow')
|
|
|
|
const get = (message) => new Promise((resolve, reject) => {
|
|
/**
|
|
* Si no estas usando un gesto de base de datos
|
|
*/
|
|
|
|
if (process.env.DATABASE === 'none') {
|
|
|
|
const steps = [
|
|
{
|
|
keywords: ['hola', 'hi', 'buen dia'],
|
|
key: 'STEP_1'
|
|
},
|
|
{
|
|
keywords: ['enviar pdf', 'pdf', 'enviarpdf'],
|
|
key: 'STEP_2'
|
|
}
|
|
]
|
|
|
|
const { key } = steps.find(k => k.keywords.includes(message)) || { key: null }
|
|
const response = key || null
|
|
resolve(response)
|
|
}
|
|
/**
|
|
* Si usas MYSQL
|
|
*/
|
|
if (process.env.DATABASE === 'mysql') {
|
|
getData(message, (dt) => {
|
|
resolve(dt)
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Si usas dialogflow
|
|
*/
|
|
if (process.env.DATABASE === 'dialogflow') {
|
|
let resData = { replyMessage: '', media: null, trigger: null }
|
|
getDataIa(message,(dt) => {
|
|
resData = { ...resData, ...{ replyMessage: dt.replyMessage } }
|
|
resolve(resData)
|
|
})
|
|
}
|
|
})
|
|
|
|
|
|
const reply = (step) => new Promise((resolve, reject) => {
|
|
/**
|
|
* Si no estas usando un gesto de base de datos
|
|
*/
|
|
if (process.env.DATABASE === 'none') {
|
|
let replyMessage = null;
|
|
let resData = { replyMessage: '', media: null, trigger: null }
|
|
switch (step) {
|
|
|
|
case 'STEP_1':
|
|
replyMessage = [
|
|
'✌️ Bienveido a este CHATBOT lo primero \n',
|
|
'Decirte que mi nombre es Leifer Mendez \n\n',
|
|
'¿Quieres que te envie mi presentación? \n',
|
|
'*enviar pdf* o *omitir* \n',
|
|
].join('');
|
|
resData = { replyMessage, media: null }
|
|
resolve(resData);
|
|
return
|
|
break;
|
|
case 'STEP_2':
|
|
replyMessage = [
|
|
'Yeah! 😎 \n',
|
|
'enviando...👌'
|
|
].join('');
|
|
resData = { replyMessage, media: 'meme-1.png', trigger: 'STEP_0' }
|
|
resolve(resData);
|
|
return
|
|
break;
|
|
case 'STEP_0':
|
|
replyMessage = [
|
|
'El flujo ha finalizado \n',
|
|
'pero puedes ver todo el codigo de este \n',
|
|
'repositorio en https://github.com/leifermendez/bot-whatsapp.git'
|
|
].join('');
|
|
resData = { replyMessage, media: null }
|
|
resolve(resData);
|
|
return
|
|
break;
|
|
|
|
}
|
|
}
|
|
/**
|
|
* Si usas MYSQL
|
|
*/
|
|
if (process.env.DATABASE === 'mysql') {
|
|
let resData = { replyMessage: '', media: null, trigger: null }
|
|
getReply(step, (dt) => {
|
|
resData = { ...resData, ...dt }
|
|
resolve(resData)
|
|
});
|
|
}
|
|
})
|
|
|
|
module.exports = { get, reply } |