【发布时间】:2020-05-28 19:54:54
【问题描述】:
我在 Dialogflow 中创建了一个聊天机器人,当调用 Welcome Intent 时,我会从 API 接收用户的电子邮件 ID,并将其存储在上下文中:mail。 我在另一个 Intent 中访问此电子邮件以注册用户,但我没有得到任何价值。在控制台上打印上下文时,它显示了电子邮件 ID,那么为什么不在 RegisterUser Intent 中呢? 我使用内联编辑器在 Dialogflow 中实现。
欢迎意图:
function getmail(agent){
var myJSONOb = {
"param1":param1
};
var options = {
method: 'post',
uri: 'my_API',
body: myJSONOb,
json: true
};
process.env.NODE_TLS_REJECT_UNAUTHORIZED = false;
return rp( options )
.then( body => {
let ctx = {'name': 'mail', 'lifespan': 15, 'parameters': {'email':body.mail}};
agent.setContext(ctx);
// this prints: { name: 'mail', lifespan: 15, parameters: { email: 'mymail@gmail.com' } }
})
.catch( err => {...
});
}
注册用户:
function registerUser(agent){
let params = agent.getContext("mail").parameters;
let email = params.email;
agent.add("email "+email);
//this just prints : 'email' and no value
}
【问题讨论】:
标签: node.js dialogflow-es