mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
change csv to json
This commit is contained in:
@@ -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 }
|
||||
@@ -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
8
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();
|
||||
|
||||
|
||||
@@ -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}
|
||||
@@ -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 }
|
||||
Reference in New Issue
Block a user