mirror of
https://github.com/cheveguerra/botLeiferAurik-Mod_2.0.git
synced 2026-04-18 03:39:16 +00:00
integramos Baileys y varios cambios,
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
const mimeDb = require('mime-db');
|
||||
const { uploadSingleFile } = require('../adapter/gdrive');
|
||||
// const { uploadSingleFile } = require('../adapter/gdrive') // Para Goole Drive y DialogFlow
|
||||
const fs = require('fs');
|
||||
|
||||
var fileName;
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
const ExcelJS = require('exceljs');
|
||||
const moment = require('moment');
|
||||
const fs = require('fs');
|
||||
const { MessageMedia, Buttons, List } = require('whatsapp-web.js');
|
||||
const { MessageMedia, Buttons, List } = require('whatsapp-web.js')
|
||||
const baileys = require('./send_baileys')
|
||||
const wwebjs = require('./send_wwebjs')
|
||||
const { cleanNumber } = require('./handle')
|
||||
const { remplazos } = require('../adapter/index'); //MOD by CHV - Agregamos remplazos
|
||||
const DELAY_TIME = 170; //ms
|
||||
@@ -12,22 +14,26 @@ const DIR_MEDIA = `${__dirname}/../mediaSend`;
|
||||
const { saveMessage } = require('../adapter')
|
||||
/**
|
||||
* Enviamos archivos multimedia a nuestro cliente
|
||||
* @param {*} number
|
||||
* @param {*} client
|
||||
* @param {*} number
|
||||
* @param {*} fileName
|
||||
* @param {*} caption
|
||||
*/
|
||||
|
||||
const sendMedia = (client, number = null, fileName = null, trigger = null) => {
|
||||
const sendMedia = (client, number = null, fileName = null, caption = null) => {
|
||||
if(!client) return console.error("El objeto cliente no está definido.");
|
||||
console.log("MEDIA:"+fileName);
|
||||
// console.log("MEDIA:"+fileName);
|
||||
try {
|
||||
number = cleanNumber(number || 0)
|
||||
const file = `${DIR_MEDIA}/${fileName}`;
|
||||
console.log("FILE="+file);
|
||||
if (fs.existsSync(file)) {
|
||||
console.log("ARCHIVO EXISTE");
|
||||
const media = MessageMedia.fromFilePath(file);
|
||||
client.sendMessage(number, media, { sendAudioAsVoice: true });
|
||||
}
|
||||
// number = cleanNumber(number || 0)
|
||||
// const file = `${DIR_MEDIA}/${fileName}`;
|
||||
// console.log("FILE="+file);
|
||||
// if (fs.existsSync(file)) {
|
||||
// console.log("ARCHIVO EXISTE");
|
||||
// const media = MessageMedia.fromFilePath(file);
|
||||
if(provider === 'baileys'){baileys.sendMedia(client, number, fileName, caption)}
|
||||
else{wwebjs.sendMedia(client, number, fileName, caption)}
|
||||
// client.sendMessage(number, media, { sendAudioAsVoice: true });
|
||||
// }
|
||||
} catch(e) {
|
||||
throw e;
|
||||
}
|
||||
@@ -42,13 +48,14 @@ const sendMedia = (client, number = null, fileName = null, trigger = null) => {
|
||||
const sendMediaVoiceNote = (client, number = null, fileName = null) => {
|
||||
if(!client) return console.error("El objeto cliente no está definido.");
|
||||
try {
|
||||
number = cleanNumber(number || 0)
|
||||
const file = `${DIR_MEDIA}/${fileName}`;
|
||||
if (fs.existsSync(file)) {
|
||||
const media = MessageMedia.fromFilePath(file);
|
||||
client.sendMessage(number, media ,{ sendAudioAsVoice: true });
|
||||
|
||||
}
|
||||
// number = cleanNumber(number || 0)
|
||||
// const file = `${DIR_MEDIA}/${fileName}`;
|
||||
// if (fs.existsSync(file)) {
|
||||
// const media = MessageMedia.fromFilePath(file)
|
||||
if(provider === 'baileys'){baileys.sendMediaVoiceNote(client, number, fileName)}
|
||||
else{wwebjs.sendMediaVoiceNote(client, number, fileName)}
|
||||
// client.sendMessage(number, media ,{ sendAudioAsVoice: true });
|
||||
// }
|
||||
}catch(e) {
|
||||
throw e;
|
||||
}
|
||||
@@ -58,13 +65,15 @@ const sendMedia = (client, number = null, fileName = null, trigger = null) => {
|
||||
* Enviamos un mensaje simple (texto) a nuestro cliente
|
||||
* @param {*} number
|
||||
*/
|
||||
const sendMessage = async (client, number = null, text = null, trigger = null, regla) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
const sendMessage = async (client, number = null, text = null, regla) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
setTimeout(async () => {
|
||||
number = cleanNumber(number)
|
||||
const message = text
|
||||
client.sendMessage(number, message);
|
||||
// number = cleanNumber(number)
|
||||
// const message = text
|
||||
if(provider === 'baileys'){baileys.sendMessage(client, number, text, regla)}
|
||||
else{wwebjs.sendMessage(client, number, text, regla)}
|
||||
// client.sendMessage(number, message);
|
||||
// console.log(number, message, regla)
|
||||
await readChat(number, message, trigger, regla) //MOD by CHV - Agregamos el parametro "regla"
|
||||
await readChat(number, message, regla) //MOD by CHV - Agregamos el parametro "regla"
|
||||
console.log(`⚡⚡⚡ Enviando mensajes....`);
|
||||
// console.log("********************* SEND MESSAGE **************************************");
|
||||
},DELAY_TIME)
|
||||
@@ -76,13 +85,14 @@ const sendMessage = async (client, number = null, text = null, trigger = null, r
|
||||
*/
|
||||
const sendMessageButton = async (client, number = null, text = null, actionButtons) => {
|
||||
setTimeout(async () => {
|
||||
number = cleanNumber(number)
|
||||
const { title = null, message = null, footer = null, buttons = [] } = actionButtons;
|
||||
let button = new Buttons(remplazos(message, client),[...buttons], remplazos(title, client), remplazos(footer, client));
|
||||
await readChat(number, message, actionButtons)
|
||||
client.sendMessage(number, button);
|
||||
if(provider === 'baileys'){baileys.sendMessageButton(client, number, text, actionButtons)}
|
||||
else{wwebjs.sendMessageButton(client, number, text, actionButtons)}
|
||||
// number = cleanNumber(number)
|
||||
// const { title = null, message = null, footer = null, buttons = [] } = actionButtons;
|
||||
// let button = new Buttons(remplazos(message, client),[...buttons], remplazos(title, client), remplazos(footer, client));
|
||||
await readChat(number, message)
|
||||
// client.sendMessage(number, button);
|
||||
console.log(`⚡⚡⚡ Enviando mensajes (botones)....`);
|
||||
// console.log("sendMessageButton.");
|
||||
}, DELAY_TIME)
|
||||
// console.log("************************ SEND MESSAGE BUTTON ***********************************");
|
||||
}
|
||||
@@ -95,12 +105,14 @@ const sendMessageList = async (client, number = null, text = null, actionList) =
|
||||
setTimeout(async () => {
|
||||
// console.log("********************** client **************************")
|
||||
// console.log(client)
|
||||
number = cleanNumber(number)
|
||||
const { body = null, buttonText = null, sections = [], title = null, footer = null } = actionList;
|
||||
let aList = new List( remplazos(body, client),remplazos(buttonText, client),[...sections],remplazos(title, client),remplazos(footer, client));
|
||||
client.sendMessage(number, aList);
|
||||
await readChat(number, message, actionList)
|
||||
console.log('⚡⚡⚡ Enviando lista a '+number+' ....');
|
||||
// number = cleanNumber(number)
|
||||
// const { body = null, buttonText = null, sections = [], title = null, footer = null } = actionList;
|
||||
// let aList = new List( remplazos(body, client),remplazos(buttonText, client),[...sections],remplazos(title, client),remplazos(footer, client));
|
||||
if(provider === 'baileys'){baileys.sendMessageList(client, number, text, actionList)}
|
||||
else{wwebjs.sendMessageList(client, number, text, actionList)}
|
||||
// client.sendMessage(number, aList);
|
||||
await readChat(number, message)
|
||||
// console.log('⚡⚡⚡ Enviando lista a '+number+' ....');
|
||||
}, DELAY_TIME)
|
||||
}
|
||||
|
||||
@@ -130,9 +142,9 @@ const lastTrigger = (number) => new Promise((resolve, reject) => {
|
||||
* @param {*} number
|
||||
* @param {*} message
|
||||
*/
|
||||
const readChat = async (number, message, trigger = null, regla) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
const readChat = async (number, message, regla) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
number = cleanNumber(number)
|
||||
await saveMessage( message, trigger, number, regla ) //MOD by CHV - Agregamos "regla"
|
||||
await saveMessage( message, number, regla ) //MOD by CHV - Agregamos "regla"
|
||||
// console.log('Saved')
|
||||
}
|
||||
|
||||
|
||||
@@ -17,10 +17,11 @@ const mime = require('mime-types')
|
||||
* @param {*} number
|
||||
* @param {*} mediaInput
|
||||
* @param {*} message
|
||||
* @example await sendMessage('+XXXXXXXXXXX', 'https://dominio.com/imagen.jpg' | 'img/imagen.jpg')
|
||||
* @param {*} caption
|
||||
* @example await sendMessage(client, '+XXXXXXXXXXX', 'https://dominio.com/imagen.jpg' | 'img/imagen.jpg', 'caption')
|
||||
*/
|
||||
const sendMedia = async (client, number, fileName, text) => {
|
||||
console.log("SendMedia = ", number, fileName, text)
|
||||
const sendMedia = async (client, number, fileName, caption = null) => {
|
||||
console.log("SendMedia Baileys = ", number, fileName, caption)
|
||||
// const fileDownloaded = await generalDownload(imageUrl)
|
||||
|
||||
const file = `${DIR_MEDIA}/${fileName}`;
|
||||
@@ -28,9 +29,9 @@ const sendMedia = async (client, number, fileName, text) => {
|
||||
if (fs.existsSync(file)) {
|
||||
console.log("ARCHIVO EXISTE");
|
||||
const mimeType = mime.lookup(file)
|
||||
if (mimeType.includes('image')) return sendImage(client, number, file, text)
|
||||
if (mimeType.includes('video')) return sendVideo(client, number, file, text)
|
||||
if (mimeType.includes('audio')) return sendAudio(client, number, file, text)
|
||||
if (mimeType.includes('image')) return sendImage(client, number, file, caption)
|
||||
if (mimeType.includes('video')) return sendVideo(client, number, file, caption)
|
||||
if (mimeType.includes('audio')) return sendAudio(client, number, file, caption)
|
||||
return sendFile(client, number, file)
|
||||
}
|
||||
}
|
||||
@@ -63,7 +64,6 @@ const sendImage = async (client, number, filePath, text) => {
|
||||
if (fs.existsSync(file)) {
|
||||
const media = MessageMedia.fromFilePath(file);
|
||||
client.sendMessage(number, media ,{ sendAudioAsVoice: true });
|
||||
|
||||
}
|
||||
}catch(e) {
|
||||
throw e;
|
||||
@@ -74,13 +74,13 @@ const sendImage = async (client, number, filePath, text) => {
|
||||
* Enviamos un mensaje simple (texto) a nuestro cliente
|
||||
* @param {*} number
|
||||
*/
|
||||
const sendMessage = async (client, number = null, text = null, trigger = null, regla) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
const sendMessage = async (client, number = null, text = null, regla = null) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
if(text !== undefined && text != null){
|
||||
setTimeout(async () => {
|
||||
number = cleanNumber(number)
|
||||
await client.sendMessage(number, { text: text })
|
||||
client.sendMessage(number, { text: text })
|
||||
// console.log(number, message, regla)
|
||||
await readChat(number, text, trigger, regla) //MOD by CHV - Agregamos el parametro "regla"
|
||||
await readChat(number, text, regla) //MOD by CHV - Agregamos el parametro "regla"
|
||||
console.log(`⚡⚡⚡ Enviando mensajes....`);
|
||||
// ingresarDatos(number, text, 'Salida', 'Bot Pruebas')
|
||||
// console.log("********************* SEND MESSAGE **************************************");
|
||||
@@ -97,7 +97,7 @@ const sendMessageButton2 = async (client, number = null, text = null, actionButt
|
||||
number = cleanNumber(number)
|
||||
const { title = null, message = null, footer = null, buttons = [] } = actionButtons;
|
||||
let button = new Buttons(remplazos(message, client),[...buttons], remplazos(title, client), remplazos(footer, client));
|
||||
await readChat(number, message, actionButtons)
|
||||
await readChat(number, message)
|
||||
client.sendMessage(number, button);
|
||||
console.log(`⚡⚡⚡ Enviando mensajes (botones)....`);
|
||||
// console.log("sendMessageButton.");
|
||||
@@ -122,10 +122,11 @@ const sendMessageButton = async (client, number, text = null, actionButtons) =>
|
||||
type: 1,
|
||||
}))
|
||||
text = remplazos(`*${title}*\n${message}`, client)
|
||||
await readChat(number, message, actionButtons)
|
||||
// console.log("sendMessageButton:", text, templateButtons)
|
||||
const buttonMessage = { text, footer, buttons: templateButtons, headerType: 1 }
|
||||
console.log("sendMessageButton:", buttonMessage)
|
||||
console.log(templateButtons)
|
||||
return client.sendMessage(number, buttonMessage)
|
||||
await readChat(number, message)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -133,7 +134,7 @@ const sendMessageButton = async (client, number, text = null, actionButtons) =>
|
||||
* @param {*} number
|
||||
*/
|
||||
const sendMessageList = async (client, number = null, text = null, actionList) => {
|
||||
console.log("**************** baileys send")
|
||||
// console.log("**************** baileys send ", number, text, actionList)
|
||||
setTimeout(async () => {
|
||||
// console.log("********************** client **************************")
|
||||
number = cleanNumber(number)
|
||||
@@ -145,10 +146,10 @@ const sendMessageList = async (client, number = null, text = null, actionList) =
|
||||
buttonText: remplazos(buttonText, client),
|
||||
sections
|
||||
}
|
||||
console.log(theList)
|
||||
// console.log(theList)
|
||||
// console.log(sections[0])
|
||||
client.sendMessage(number, theList);
|
||||
await readChat(number, body, actionList)
|
||||
await readChat(number, body)
|
||||
console.log('⚡⚡⚡ Enviando lista a '+number+' ....');
|
||||
}, DELAY_TIME)
|
||||
}
|
||||
@@ -179,9 +180,9 @@ const lastTrigger = (number) => new Promise((resolve, reject) => {
|
||||
* @param {*} number
|
||||
* @param {*} message
|
||||
*/
|
||||
const readChat = async (number, message, trigger = null, regla) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
const readChat = async (number, message, regla = null) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
number = cleanNumber(number)
|
||||
await saveMessage( message, trigger, number, regla ) //MOD by CHV - Agregamos "regla"
|
||||
await saveMessage( message, number, regla ) //MOD by CHV - Agregamos "regla"
|
||||
// console.log('Saved')
|
||||
}
|
||||
|
||||
|
||||
@@ -17,19 +17,20 @@ const mime = require('mime-types')
|
||||
* @param {*} number
|
||||
* @param {*} mediaInput
|
||||
* @param {*} message
|
||||
* @param {*} caption
|
||||
* @returns
|
||||
*/
|
||||
const sendMedia = async (client, number, fileName, text) => {
|
||||
console.log("SendMedia = ", number, fileName, text)
|
||||
const sendMedia = async (client, number, fileName, caption = null) => {
|
||||
console.log("SendMedia WWebJS = ", number, fileName, caption)
|
||||
// const fileDownloaded = await generalDownload(imageUrl)
|
||||
const file = `${DIR_MEDIA}/${fileName}`;
|
||||
console.log("FILE="+file);
|
||||
if (fs.existsSync(file)) {
|
||||
console.log("ARCHIVO EXISTE");
|
||||
const mimeType = mime.lookup(file)
|
||||
if (mimeType.includes('image')) return sendImage(client, number, file, text)
|
||||
if (mimeType.includes('video')) return sendVideo(client, number, file, text)
|
||||
if (mimeType.includes('audio')) return sendAudio(client, number, file, text)
|
||||
if (mimeType.includes('image')) return sendImage(client, number, file, caption)
|
||||
if (mimeType.includes('video')) return sendVideo(client, number, file, caption)
|
||||
if (mimeType.includes('audio')) return sendAudio(client, number, file, caption)
|
||||
return sendFile(client, number, file)
|
||||
}
|
||||
}
|
||||
@@ -68,7 +69,6 @@ const sendImage = async (client, number, fileName, caption) => {
|
||||
if (fs.existsSync(file)) {
|
||||
const media = MessageMedia.fromFilePath(file);
|
||||
client.sendMessage(number, media ,{ sendAudioAsVoice: true });
|
||||
|
||||
}
|
||||
}catch(e) {
|
||||
throw e;
|
||||
@@ -79,13 +79,13 @@ const sendImage = async (client, number, fileName, caption) => {
|
||||
* Enviamos un mensaje simple (texto) a nuestro cliente
|
||||
* @param {*} number
|
||||
*/
|
||||
const sendMessage = async (client, number = null, text = null, trigger = null, regla) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
const sendMessage = async (client, number = null, text = null, regla = null) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
setTimeout(async () => {
|
||||
number = cleanNumber(number)
|
||||
const message = text
|
||||
client.sendMessage(number, message);
|
||||
// console.log(number, message, regla)
|
||||
await readChat(number, message, trigger, regla) //MOD by CHV - Agregamos el parametro "regla"
|
||||
await readChat(number, message, regla) //MOD by CHV - Agregamos el parametro "regla"
|
||||
console.log(`⚡⚡⚡ Enviando mensajes....`);
|
||||
// ingresarDatos(number, message, 'Salida', 'Bot Pruebas')
|
||||
// console.log("********************* SEND MESSAGE **************************************");
|
||||
@@ -96,15 +96,19 @@ const sendMessage = async (client, number = null, text = null, trigger = null, r
|
||||
* Enviamos un mensaje con buttons a nuestro cliente
|
||||
* @param {*} number
|
||||
*/
|
||||
const sendMessageButton = async (client, number = null, text = null, actionButtons) => {
|
||||
const sendMessageButton = async (client, number, text = null, actionButtons) => {
|
||||
setTimeout(async () => {
|
||||
number = cleanNumber(number)
|
||||
const { title = null, message = null, footer = null, buttons = [] } = actionButtons;
|
||||
let button = new Buttons(remplazos(message, client),[...buttons], remplazos(title, client), remplazos(footer, client));
|
||||
await readChat(number, message, actionButtons)
|
||||
let button = new Buttons(
|
||||
remplazos(message, client),
|
||||
[...buttons],
|
||||
remplazos(title, client),
|
||||
remplazos(footer, client));
|
||||
console.log("sendMessageButton:", button)
|
||||
console.log(buttons)
|
||||
client.sendMessage(number, button);
|
||||
console.log(`⚡⚡⚡ Enviando mensajes (botones)....`);
|
||||
// console.log("sendMessageButton.");
|
||||
await readChat(number, message)
|
||||
}, DELAY_TIME)
|
||||
// console.log("************************ SEND MESSAGE BUTTON ***********************************");
|
||||
}
|
||||
@@ -117,12 +121,12 @@ const sendMessageList = async (client, number = null, text = null, actionList) =
|
||||
// console.log("*************** wwebjs send")
|
||||
setTimeout(async () => {
|
||||
// console.log("********************** client **************************")
|
||||
// console.log(client)
|
||||
console.log(actionList)
|
||||
number = cleanNumber(number)
|
||||
const { body = null, buttonText = null, sections = [], title = null, footer = null } = actionList;
|
||||
let aList = new List( remplazos(body, client),remplazos(buttonText, client),[...sections],remplazos(title, client),remplazos(footer, client));
|
||||
client.sendMessage(number, aList);
|
||||
await readChat(number, message, actionList)
|
||||
await readChat(number, message)
|
||||
console.log('⚡⚡⚡ Enviando lista a '+number+' ....');
|
||||
}, DELAY_TIME)
|
||||
}
|
||||
@@ -153,9 +157,9 @@ const lastTrigger = (number) => new Promise((resolve, reject) => {
|
||||
* @param {*} number
|
||||
* @param {*} message
|
||||
*/
|
||||
const readChat = async (number, message, trigger = null, regla) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
const readChat = async (number, message, regla = null) => { //MOD by CHV - Agregamos el parametro "regla" para guardarlo en "chats/numero.json"
|
||||
number = cleanNumber(number)
|
||||
await saveMessage( message, trigger, number, regla ) //MOD by CHV - Agregamos "regla"
|
||||
await saveMessage( message, number, regla ) //MOD by CHV - Agregamos "regla"
|
||||
// console.log('Saved')
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user