mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-19 20:19:15 +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':
|
case 'mysql':
|
||||||
resolve( await saveMessageMysql( message, date, trigger, number ) )
|
resolve( await saveMessageMysql( message, trigger, number ) )
|
||||||
break;
|
break;
|
||||||
case 'json':
|
case 'none':
|
||||||
resolve( await saveMessageJson( message, date, trigger, number ) )
|
resolve( await saveMessageJson( message, trigger, number ) )
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
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 }
|
module.exports = { get, reply, getIA, saveMessage }
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
const Path = require('path')
|
const Path = require('path')
|
||||||
const StormDB = require("stormdb");
|
const StormDB = require("stormdb");
|
||||||
|
const date = new Date().toISOString();
|
||||||
const saveMessageJson = (message, date, trigger, number) => new Promise( async(resolve,reject) =>{
|
const saveMessageJson = (message, trigger, number) => new Promise( async(resolve,reject) =>{
|
||||||
try {
|
try {
|
||||||
const engine = new StormDB.localFileEngine( Path.join(__dirname, `/../chats/${number}.json`) );
|
const engine = new StormDB.localFileEngine( Path.join(__dirname, `/../chats/${number}.json`) );
|
||||||
const db = new StormDB(engine);
|
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 { Client, LegacySessionAuth } = require('whatsapp-web.js');
|
||||||
const mysqlConnection = require('./config/mysql')
|
const mysqlConnection = require('./config/mysql')
|
||||||
const { middlewareClient } = require('./middleware/client')
|
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 { connectionReady, connectionLost } = require('./controllers/connection')
|
||||||
const { saveMedia } = require('./controllers/save')
|
const { saveMedia } = require('./controllers/save')
|
||||||
const { getMessages, responseMessages, bothResponse } = require('./controllers/flows')
|
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();
|
const app = express();
|
||||||
app.use(cors())
|
app.use(cors())
|
||||||
app.use(express.json())
|
app.use(express.json())
|
||||||
@@ -83,7 +83,6 @@ const listenMessage = () => client.on('message', async msg => {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const lastStep = await lastTrigger(from) || null;
|
const lastStep = await lastTrigger(from) || null;
|
||||||
console.log({ lastStep })
|
|
||||||
if (lastStep) {
|
if (lastStep) {
|
||||||
const response = await responseMessages(lastStep)
|
const response = await responseMessages(lastStep)
|
||||||
await sendMessage(client, from, response.replyMessage);
|
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
|
* Respondemos al primero paso si encuentra palabras clave
|
||||||
*/
|
*/
|
||||||
const step = await getMessages(message);
|
const step = await getMessages(message);
|
||||||
console.log({ step })
|
|
||||||
|
|
||||||
if (step) {
|
if (step) {
|
||||||
const response = await responseMessages(step);
|
const response = await responseMessages(step);
|
||||||
@@ -247,5 +245,5 @@ if (process.env.DATABASE === 'mysql') {
|
|||||||
server.listen(port, () => {
|
server.listen(port, () => {
|
||||||
console.log(`El server esta listo por el puerto ${port}`);
|
console.log(`El server esta listo por el puerto ${port}`);
|
||||||
})
|
})
|
||||||
|
checkEnvFile();
|
||||||
|
|
||||||
|
|||||||
@@ -49,4 +49,12 @@ const generateImage = (base64, cb = () => {}) => {
|
|||||||
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
|
* @param {*} message
|
||||||
*/
|
*/
|
||||||
const readChat = async (number, message, trigger = null) => {
|
const readChat = async (number, message, trigger = null) => {
|
||||||
setTimeout( async () => {
|
number = cleanNumber(number)
|
||||||
number = cleanNumber(number)
|
await saveMessage( message, trigger, number )
|
||||||
const today = moment().toISOString()
|
console.log('Saved')
|
||||||
await saveMessage( message, today, trigger, number )
|
|
||||||
console.log('Saved')
|
|
||||||
}, 150)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = { sendMessage, sendMedia, lastTrigger, sendMessageButton, readChat, sendMediaVoiceNote }
|
module.exports = { sendMessage, sendMedia, lastTrigger, sendMessageButton, readChat, sendMediaVoiceNote }
|
||||||
Reference in New Issue
Block a user