diaglogflow wit media

This commit is contained in:
Leifer Mendez
2022-01-15 21:08:22 +01:00
parent 69720b382a
commit 4339d56870
11 changed files with 38 additions and 15 deletions

View File

@@ -20,6 +20,7 @@ const sessionClient = new dialogflow.SessionsClient(CONFIGURATION);
// Detect intent method
const detectIntent = async (queryText) => {
let media = null;
const sessionId = nanoid.nanoid()
const sessionPath = sessionClient.projectAgentSessionPath(PROJECID, sessionId);
const languageCode = process.env.LANGUAGE
@@ -37,18 +38,24 @@ const detectIntent = async (queryText) => {
const [singleResponse] = responses;
const { queryResult } = singleResponse
const { intent } = queryResult || { intent: {} }
const parseIntent = intent?.displayName || null
const parseIntent = intent['displayName'] || null
const parsePayload = queryResult['fulfillmentMessages'].find((a) => a.message === 'payload');
if (parsePayload && parsePayload.payload) {
const { fields } = parsePayload.payload
media = fields.media.stringValue || null
}
// const customPayload = parsePayload['payload']
const parseData = {
replyMessage:queryResult.fulfillmentText,
media:null,
trigger:null
replyMessage: queryResult.fulfillmentText,
media,
trigger: null
}
return parseData
}
const getDataIa = (message = '',cb = () => {}) => {
const getDataIa = (message = '', cb = () => { }) => {
detectIntent(message).then((res) => {
cb(res)
})

View File

@@ -32,19 +32,21 @@ const get = (message) => new Promise((resolve, reject) => {
});
}
})
const getIA = (message) => new Promise((resolve, reject) => {
/**
* Si usas dialogflow
*/
if (process.env.DATABASE === 'dialogflow') {
if (process.env.DATABASE === 'dialogflow') {
let resData = { replyMessage: '', media: null, trigger: null }
getDataIa(message,(dt) => {
resData = { ...resData, ...{ replyMessage: dt.replyMessage } }
resData = { ...resData, ...dt }
resolve(resData)
})
}
})
const reply = (step) => new Promise((resolve, reject) => {
/**
* Si no estas usando un gesto de base de datos
@@ -99,4 +101,4 @@ const reply = (step) => new Promise((resolve, reject) => {
}
})
module.exports = { get, reply }
module.exports = { get, reply, getIA }