我在Dialogflow上开发了一个google助手应用程序 . 我有一个意图接收两个实体:@name和@age通过内联编辑器使用实现我验证@age是否低于18.在这种情况下我需要询问其他信息,我需要询问名称负责孩子的人 .
我浏览了互联网,包括https://dialogflow.com/docs/samples的履行样本
我相信它看起来像这样:
let conv = agent.conv();
conv.ask('As your age is under 18 I need the name of the person responsible for you:');
//Some code to retrieve user input into a variable
agent.add(conv);
但我无法找到如何做到这一点 .
有人可以帮我实现这个目标吗?
提前致谢 .
1 回答
在处理Intent时,无法“等待”用户回答您的问题 . 相反,您需要以这种方式处理用户输入:
您从意图发回回复 .
用户回复他们说的话 .
您通过Intent处理此新用户语句 .
意图总是代表用户采取某些行动 - 通常说些什么 .
因此,一种方法是创建一个接受用户响应的新Intent . 但不知何故,您需要将此响应与捕获该人姓名的初始Intent区分开来 .
实现这一目标的一种方法是,在您询问负责任的成年人是谁的问题的情况下,也是设置Context . 然后,只有在设置了Context并且处理此新Intent以获取成人的名称时,才能触发不同的Intent .