如何在文本响应中设置动态参数? 不是来自用户短语
我有一个案例:
机器人说:“您找到工作了吗?”
用户说:“是”
文本回复:
机器人说:“我可以为您提供空缺{random vacancy}”
答案 0 :(得分:2)
您不能使用默认的文本响应来执行此操作,实际上,您需要在实现部分中针对该意图启用Webhook调用。我将向您展示我的意图。
这里有Webhook代码:
'use strict';
const http = require('http');
const request2 = require('request');
exports.dialogflowFirebaseFulfillment = (req, res) => {
console.log('Dialogflow Request body: ' + JSON.stringify(req.body));
let action = req.body.queryResult['intent']['displayName'];
switch(action){
case "work":
// Get the city from a database
let city="Randomcity";
// Get the job from a database
let job="randomjob";
res.send(JSON.stringify({ 'fulfillmentText': "I can offer you this fantastic job in "+city+" city, doing "+job}));
break;
//Add more cases if you have more intents
}
}
这是结果:
答案 1 :(得分:1)
有两种情况:
1.如果要返回随机参数,则只需在响应中设置所有可能的参数,然后DialogFlow将随机选择一个响应并将其发送给用户。
希望有帮助。