【问题标题】:How to use a repeat keyword in dialogflow?如何在对话流中使用重复关键字?
【发布时间】:2020-10-12 11:09:56
【问题描述】:
我正在使用 actions-on-google 和 dialogflow 来构建聊天机器人。助手提出问题,用户回复。一旦提出问题并且用户说“重复”,我希望重复该问题。有什么办法可以做到这一点吗?
这是我的代码:
app.intent('First', (conv) => {
const rating = conv.parameters.any;
senddata[0] = qstion[0] + rating;
conv.ask(qstion[1]);
});
有人可以帮我解决这个问题吗?
【问题讨论】:
标签:
node.js
actions-on-google
dialogflow-es-fulfillment
【解决方案1】:
Dialogflow 有一个session storage 的概念,它可以存储仅适用于会话的数据。通过这种方式,您可以存储包括您之前的回复在内的数据。
所以可以这样实现:
app.intent('First', conv => {
const rating = conv.parameters.any
senddata[0] = `${qstion[0]}${rating}`
conv.data.lastResponse = qstion[1]
conv.ask(qstion[1])
})
app.intent('Repeat', conv => {
if (conv.data.lastResponse) {
conv.ask(`Here is what I said before: ${conv.data.lastResponse}`)
} else {
conv.ask(`I didn't say anything. Can you ask me something else?`)
}
})