我需要直接从内联编辑器的实现中调用意图,而不必等待用户说些什么。
我正在填充数据库,dialogflow要求输入名称,而bot应该只询问数据库中缺少的条目。因此,当用户说出名称时,漫游器应仅自动询问数据库中缺少的条目。到目前为止,我已经使它起作用了,但是它需要用户重新输入缺少的条目,尽管该机器人已经知道了这些信息。
if (!doc.exists) {
//Here I would like to call directly another intent WITHOUT asking the user to call it
} else {
//Here I would like to call a different intent again WITHOUT asking the user to call it
}
答案 0 :(得分:1)
在events
的帮助下,您可以直接调用意图,而无需任何提示。
从实现中,您可以在followupEventInput
的帮助下调用一个事件。
if (!doc.exists) {
response = json.dumps({
"followupEventInput": {
"name": name_of_event
})
} else {
response = json.dumps({
"followupEventInput": {
"name": name_of_another_event
})
}
return response
只需确保在Dialogflow控制台中根据您的意图提供正确的事件名称即可。
希望有帮助。
答案 1 :(得分:0)
请记住,意图与用户说的和不相符,您对这些信息的处理方式或答复方式。因此,您不必“发出意图”。
如果您想提示用户输入信息,请继续并在履行过程中提示他们。
如果要缩小在答复时可以调用的Intent的范围,可以将Context设置为答复的一部分,并将其匹配为可能的Intent的Input Context。但是请记住,用户可以沿任何方向进行对话,而不必回答您所提示的问题。
答案 2 :(得分:0)
与事件agent.setFollowupEvent('name_of_the_event')
在希望调用的意图中,您将“ name_of_the_event”作为事件