mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-20 12:39:24 +00:00
added dialogflow filter for media
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
const {get, reply, getIA} = require('../adapter')
|
||||
const {saveExternalFile, checkIsUrl} = require('./handle')
|
||||
const { get, reply, getIA } = require('../adapter')
|
||||
const { saveExternalFile, checkIsUrl } = require('./handle')
|
||||
|
||||
const getMessages = async (message) => {
|
||||
const data = await get(message)
|
||||
@@ -8,21 +8,29 @@ const getMessages = async (message) => {
|
||||
|
||||
const responseMessages = async (step) => {
|
||||
const data = await reply(step)
|
||||
if(data && data.media){
|
||||
if (data && data.media) {
|
||||
const file = checkIsUrl(data.media) ? await saveExternalFile(data.media) : data.media;
|
||||
return {...data,...{media:file}}
|
||||
return { ...data, ...{ media: file } }
|
||||
}
|
||||
return data
|
||||
}
|
||||
|
||||
const bothResponse = async (message, sessionId) => {
|
||||
const data = await getIA(message, sessionId)
|
||||
if(data && data.media){
|
||||
if (data && data.media) {
|
||||
const file = await saveExternalFile(data.media)
|
||||
return {...data,...{media:file}}
|
||||
return { ...data, ...{ media: file } }
|
||||
}
|
||||
return data
|
||||
}
|
||||
|
||||
const waitFor = (conditionFunction, WAIT_TIME) => {
|
||||
const poll = resolve => {
|
||||
if (conditionFunction())
|
||||
resolve();
|
||||
else setTimeout(_ => poll(resolve), WAIT_TIME);
|
||||
}
|
||||
return new Promise(poll);
|
||||
}
|
||||
|
||||
module.exports = { getMessages, responseMessages, bothResponse }
|
||||
module.exports = { getMessages, responseMessages, bothResponse, waitFor }
|
||||
@@ -1,5 +1,8 @@
|
||||
const mimeDb = require('mime-db')
|
||||
const fs = require('fs')
|
||||
const mimeDb = require('mime-db');
|
||||
const { uploadSingleFile } = require('../adapter/gdrive');
|
||||
const fs = require('fs');
|
||||
|
||||
var fileName;
|
||||
|
||||
/**
|
||||
* Guardamos archivos multimedia que nuestro cliente nos envie!
|
||||
@@ -16,9 +19,20 @@ const saveMedia = (media) => {
|
||||
} else {
|
||||
ext = extensionProcess.extensions[0];
|
||||
}
|
||||
fs.writeFile(`./media/${Date.now()}.${ext}`, media.data, { encoding: 'base64' }, function (err) {
|
||||
console.log('** Archivo Media Guardado **');
|
||||
fileName = `${Date.now()}.${ext}`;
|
||||
fs.writeFile(`./media/${fileName}`, media.data, { encoding: 'base64' }, function (err) {
|
||||
console.log(`** Archivo Media ${fileName} Guardado **`);
|
||||
});
|
||||
return fileName
|
||||
}
|
||||
|
||||
module.exports = {saveMedia}
|
||||
const saveMediaToGoogleDrive = async (media) => {
|
||||
|
||||
fileName = saveMedia(media);
|
||||
filePath = `${__dirname}/../media/${fileName}`
|
||||
|
||||
const googleDriveUrl = await uploadSingleFile(fileName, filePath);
|
||||
return googleDriveUrl
|
||||
}
|
||||
|
||||
module.exports = { saveMedia, saveMediaToGoogleDrive }
|
||||
|
||||
Reference in New Issue
Block a user