在DialogFlow中,在Google Assistant集成设置中,我向DialogFlow代理中的一种意图添加了“隐式调用”。
该Intent已发送给我的Node.js代码以实现。在该代码中,我怎么知道它是通过“隐式调用”调用的,还是在用户与代理进行交互时调用的?
我需要以略有不同的方式回应,并立即结束对话。因此,我需要知道它是否来自深层链接。我不能简单地做出不同的Intent,因为训练短语都是相同的。
答案 0 :(得分:0)
我发现的唯一方法是检查对话对象的type
属性。
如果它是“ NEW”,则这是第一个联系人,如果我们不在欢迎意向中,则可能是深层链接。
例如,仅给出响应并关闭对话:
const { dialogflow } = require('actions-on-google');
const app = dialogflow();
---
app.intent('say hello', (conv) => {
conv.ask('Hello!');
var isDeepLinked = conv.type === 'NEW';
if(isDeepLinked){
conv.ask('and Goodbye.');
conv.close();
}
});
如果有人可以指向此文档,请这样做!