Google Actions-on-Google SDK:无需注册处理程序即可响应

时间:2018-06-29 23:07:45

标签: javascript nodes actions-on-google dialogflow

我正在为Google Home和Google助手开发一个应用程序。

我将express用作网络服务器以完成订单。在大多数情况下,我会手动检查请求以决定要响应的内容,并手动发送JSON作为快速响应。 在某些情况下,我会使用设置为以下内容的Google动作SDK来发送回复。

const { DialogflowApp } = require("actions-on-google");
const assistant = new DialogflowApp({
    request: request,
    response: responseToAssistant
});

在Google Actions-on Google SDK 1.11版中,我还可以使用assistant.tell('Thanks for talking to me!');发送响应(而不是手动JSON)。

我现在已经更新到2.2版。但是,在此版本中,我必须注册所有意图的处理程序,才能使用Google Actions on Google SDK发送响应。

app.intent('Default Welcome Intent', conv => { // (registering intent)
  conv.close('Thanks for talking to me!'); 
});

但是,我必须重组整个项目。可以通过某种方式仍然手动检查请求(无需注册所有意图处理程序)并使用Google Actions on Google SDK发送响应吗?

1 个答案:

答案 0 :(得分:1)

您可以设置一个处理程序,该处理程序将在其他注册处理程序均未触发的情况下被调用。您的代码将如下所示:

app.fallback(conv => {
  conv.ask("Everything else is handled here!");
});

如果在这种情况下要设置原始JSON,则应该能够使用要设置的JSON调用conf.json()方法。