update library

This commit is contained in:
Leifer Mendez
2022-01-26 17:19:19 +01:00
parent 7cdfcdac64
commit a20f0654eb
5 changed files with 430 additions and 614 deletions

View File

@@ -2,6 +2,7 @@
#### Actualizado Enero 2022
El siguiente proyecto se realizó con fines educativos para el canal de [Youtube (Leifer Mendez)](https://www.youtube.com/channel/UCgrIGp5QAnC0J8LfNJxDRDw?sub_confirmation=1) donde aprendemos como usando node.js podemos crear un chatbot increíble que además le agregamos inteligencia artificial gracias al servicio de dialogflow.
![](https://i.giphy.com/media/OBDi3CXC83WkNeLEZP/giphy.webp)
> Si tienes una cuenta en __heroku__ puedes desplegar este proyecto con 1 click
@@ -66,7 +67,7 @@ SQL_PASS=
SQL_DATABASE=
```
> Si quieres usar la conexion via _mysql_ puedes importar el archivo [sql-bot.sql](s)
> Si quieres usar la conexion via _mysql_ puedes importar el archivo [sql-bot.sql](https://github.com/leifermendez/bot-whatsapp/blob/main/sql-bot.sql)
### ¿Como usarlo el chatbot de whatsapp?
> Escribe un mensaje al whatsapp que vinculaste con tu BOT

3
app.js
View File

@@ -12,7 +12,7 @@ const { generateImage } = 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 } = require('./controllers/send')
const { sendMedia, sendMessage, lastTrigger, sendMessageButton } = require('./controllers/send')
const app = express();
app.use(express.json())
@@ -75,6 +75,7 @@ const listenMessage = () => client.on('message', async msg => {
if (step) {
const response = await responseMessages(step)
await sendMessage(client, from, response.replyMessage, response.trigger);
await sendMessageButton(client, from);
if(!response.delay && response.media){
sendMedia(client, from, response.media);

View File

@@ -2,7 +2,7 @@
const ExcelJS = require('exceljs');
const moment = require('moment');
const fs = require('fs');
const { MessageMedia } = require('whatsapp-web.js');
const { MessageMedia, Buttons } = require('whatsapp-web.js');
const { cleanNumber } = require('./handle')
const { saveMedia } = require('../controllers/save')
/**
@@ -14,7 +14,7 @@ const { saveMedia } = require('../controllers/save')
const sendMedia = (client, number, fileName) => {
const dirMedia = `${__dirname}/../mediaSend/${fileName}`;
number = cleanNumber(number)
if(fs.existsSync(dirMedia)){
if (fs.existsSync(dirMedia)) {
const media = MessageMedia.fromFilePath(dirMedia);
client.sendMessage(number, media);
}
@@ -32,6 +32,24 @@ const sendMessage = async (client, number = null, text = null, trigger = null) =
console.log(`⚡⚡⚡ Enviando mensajes....`);
}
/**
* Enviamos un mensaje con buttons a nuestro cliente
* @param {*} number
*/
const sendMessageButton = async (client, number = null, text = null, trigger = null) => {
number = cleanNumber(number)
const message = text
let button = new Buttons("holaaaa", [
{ body: "Leer" },
{ body: "SIII" }
], "ssssss", "foonooooter");
client.sendMessage(number, button);
console.log(`⚡⚡⚡ Enviando mensajes....`);
}
/**
* Opte
*/
@@ -102,4 +120,4 @@ const readChat = async (number, message, trigger = null) => {
}
}
module.exports = { sendMessage, sendMedia, lastTrigger }
module.exports = { sendMessage, sendMedia, lastTrigger, sendMessageButton }

1012
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@
"qr-image": "^3.2.0",
"qrcode-terminal": "^0.12.0",
"socket.io": "^4.4.1",
"whatsapp-web.js": "^1.15.3",
"whatsapp-web.js": "^1.15.4",
"xlsx": "^0.16.9"
},
"devDependencies": {