我有以下代码:
router.post('/agent/fullfilments', cors(corsOptions), function(request, response) {
const agent = new WebhookClient({ request, response });
console.log('Dialogflow Request body: ' + JSON.stringify(request.body));
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
intentMap.set('Hello', hello);
intentMap.set('Default Fallback Intent', fallback);
intentMap.set('Callback request - yes', callbackRequestYes);
agent.handleRequest(intentMap);
});
我想在callbackRequestYes函数上传递几个参数。 我试过这样的事情,但没有工作:
function callbackRequestYes(agent) {
console.log( "phone number: " + request.body.queryResult.parameters.phoneNumber);
agent.add(`we will call you soon...`);
}
如何将phoneNumber传递给回调函数,以便我可以在callbackRequestYes()函数中打印它
编辑: 我如何通过检测输入操作而不是Intent名称来响应,因为Intent Names有时会改变它们而不是input.action?
答案 0 :(得分:0)
似乎传递的agent参数包含所有信息,因此这是有效的:
function callbackRequestYes(agent) {
console.log(agent.parameters);
console.log( "phone number: " + agent.parameters.phoneNumber);
agent.add(`we will call you soon...`);
}