external downlaod

This commit is contained in:
Leifer Mendez
2022-01-15 17:42:13 +01:00
parent ccca7f5612
commit 1533161bbd
9 changed files with 180 additions and 62 deletions

View File

@@ -1,12 +1,90 @@
const {getData} = require('./mysql')
const {getData , getReply} = require('./mysql')
const get = (step) => new Promise((resolve, reject) => {
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(step,(dt) => {
console.log('--->datos--',dt)
getData(message,(dt) => {
resolve(dt)
});
}
})
module.exports = {get}
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}

View File

@@ -1,9 +1,26 @@
const {connection} = require('../config/mysql')
const getData = (option_key = '', callback) => connection.query(`SELECT * FROM db_test.keywords WHERE option_key = '${option_key}' LIMIT 1`,(error, results, fields) => {
getData = (message = '', callback) => connection.query(
`SELECT * FROM db_test.keywords WHERE value LIKE '%${message}%' LIMIT 1`,
(error, results
) => {
const [response] = results
let parseResponse = response?.value || '';
parseResponse = parseResponse.split(',') || []
callback(parseResponse)
const key = response?.option_key || null
callback(key)
});
module.exports = {getData}
getReply = (option_key = '', callback) => connection.query(
`SELECT * FROM db_test.replies WHERE option_key = '${option_key}' LIMIT 1`,
(error, results
) => {
const [response] = results
const value = {
replyMessage:response?.value || '',
trigger:response?.trigger || '',
media:response?.media || ''
}
callback(value)
});
module.exports = {getData, getReply}