change csv to json

This commit is contained in:
Leifer Mendez
2022-03-15 10:20:25 +01:00
parent 3c9341d87d
commit 1d4daf10db
5 changed files with 30 additions and 26 deletions

View File

@@ -65,24 +65,25 @@ const getIA = (message) => new Promise((resolve, reject) => {
}
})
const saveMessage = ( message, date, trigger, number ) => new Promise( async (resolve, reject) => {
switch ( process.env.DATABASEMESSAGES ) {
/**
*
* @param {*} message
* @param {*} date
* @param {*} trigger
* @param {*} number
* @returns
*/
const saveMessage = ( message, trigger, number ) => new Promise( async (resolve, reject) => {
switch ( process.env.DATABASE ) {
case 'mysql':
resolve( await saveMessageMysql( message, date, trigger, number ) )
resolve( await saveMessageMysql( message, trigger, number ) )
break;
case 'json':
resolve( await saveMessageJson( message, date, trigger, number ) )
case 'none':
resolve( await saveMessageJson( message, trigger, number ) )
break;
default:
break;
}
// if (process.env.DATABASE === 'dialogflow') {
// let resData = { replyMessage: '', media: null, trigger: null }
// getDataIa(message,(dt) => {
// resData = { ...resData, ...dt }
// resolve(resData)
// })
// }
})
module.exports = { get, reply, getIA, saveMessage }

View File

@@ -1,7 +1,7 @@
const Path = require('path')
const StormDB = require("stormdb");
const saveMessageJson = (message, date, trigger, number) => new Promise( async(resolve,reject) =>{
const date = new Date().toISOString();
const saveMessageJson = (message, trigger, number) => new Promise( async(resolve,reject) =>{
try {
const engine = new StormDB.localFileEngine( Path.join(__dirname, `/../chats/${number}.json`) );
const db = new StormDB(engine);

8
app.js
View File

@@ -9,11 +9,11 @@ const qrcode = require('qrcode-terminal');
const { Client, LegacySessionAuth } = require('whatsapp-web.js');
const mysqlConnection = require('./config/mysql')
const { middlewareClient } = require('./middleware/client')
const { generateImage, cleanNumber } = require('./controllers/handle')
const { generateImage, cleanNumber, checkEnvFile } = require('./controllers/handle')
const { connectionReady, connectionLost } = require('./controllers/connection')
const { saveMedia } = require('./controllers/save')
const { getMessages, responseMessages, bothResponse } = require('./controllers/flows')
const { sendMedia, sendMessage, lastTrigger, sendMessageButton, readChat, sendMediaVoiceNote } = require('./controllers/send')
const { sendMedia, sendMessage, lastTrigger, sendMessageButton, readChat } = require('./controllers/send')
const app = express();
app.use(cors())
app.use(express.json())
@@ -83,7 +83,6 @@ const listenMessage = () => client.on('message', async msg => {
*/
const lastStep = await lastTrigger(from) || null;
console.log({ lastStep })
if (lastStep) {
const response = await responseMessages(lastStep)
await sendMessage(client, from, response.replyMessage);
@@ -93,7 +92,6 @@ const listenMessage = () => client.on('message', async msg => {
* Respondemos al primero paso si encuentra palabras clave
*/
const step = await getMessages(message);
console.log({ step })
if (step) {
const response = await responseMessages(step);
@@ -247,5 +245,5 @@ if (process.env.DATABASE === 'mysql') {
server.listen(port, () => {
console.log(`El server esta listo por el puerto ${port}`);
})
checkEnvFile();

View File

@@ -49,4 +49,12 @@ const generateImage = (base64, cb = () => {}) => {
cb()
}
module.exports = {cleanNumber, saveExternalFile, generateImage, checkIsUrl}
const checkEnvFile = () => {
const pathEnv = `${__dirname}/../.env`;
const isExist = fs.existsSync(pathEnv);
if(!isExist){
console.log(`🆗 ATENCION! 🆗 te falta crear tu archivo .env de lo contrario no funcionara`)
}
}
module.exports = {cleanNumber, saveExternalFile, generateImage, checkIsUrl, checkEnvFile}

View File

@@ -94,12 +94,9 @@ const lastTrigger = (number) => new Promise((resolve, reject) => {
* @param {*} message
*/
const readChat = async (number, message, trigger = null) => {
setTimeout( async () => {
number = cleanNumber(number)
const today = moment().toISOString()
await saveMessage( message, today, trigger, number )
console.log('Saved')
}, 150)
number = cleanNumber(number)
await saveMessage( message, trigger, number )
console.log('Saved')
}
module.exports = { sendMessage, sendMedia, lastTrigger, sendMessageButton, readChat, sendMediaVoiceNote }