mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
90 lines
2.5 KiB
JavaScript
90 lines
2.5 KiB
JavaScript
const {getData , getReply} = require('./mysql')
|
|
|
|
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)
|
|
});
|
|
}
|
|
})
|
|
|
|
|
|
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} |