added dialogflow filter for media

This commit is contained in:
jzvi12
2022-12-22 20:43:16 -05:00
parent 33490dc737
commit 748262302c
9 changed files with 279 additions and 30 deletions

View File

@@ -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 }