diff --git a/adapter/index.js b/adapter/index.js index 03485fb..3b8dcd3 100644 --- a/adapter/index.js +++ b/adapter/index.js @@ -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 } \ No newline at end of file diff --git a/adapter/jsonDb.js b/adapter/jsonDb.js index bf93dc8..dbc2626 100644 --- a/adapter/jsonDb.js +++ b/adapter/jsonDb.js @@ -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); diff --git a/app.js b/app.js index c34f3b3..a9e9e20 100644 --- a/app.js +++ b/app.js @@ -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(); diff --git a/controllers/handle.js b/controllers/handle.js index 394e486..2639921 100644 --- a/controllers/handle.js +++ b/controllers/handle.js @@ -49,4 +49,12 @@ const generateImage = (base64, cb = () => {}) => { cb() } -module.exports = {cleanNumber, saveExternalFile, generateImage, checkIsUrl} \ No newline at end of file +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} \ No newline at end of file diff --git a/controllers/send.js b/controllers/send.js index 7f7e04d..ccbe134 100644 --- a/controllers/send.js +++ b/controllers/send.js @@ -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 } \ No newline at end of file