Google SDK 上的操作:无需注册处理程序即可响应



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

我使用快递作为网络服务器来实现。在大多数情况下,我手动检查请求以决定要响应的内容,并手动发送 JSON 作为快速响应。 在某些情况下,我使用设置为以下内容的谷歌 SDK 上的操作来发送回复。

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

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

我现在已经更新到 2.2 版。但是,在此版本中,看起来我必须为所有意图注册处理程序,才能使用谷歌SDK上的操作来发送响应。

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

但是,为此,我必须重组整个项目。是否仍然可以手动检查请求(无需注册所有意图处理程序(并使用 google SDK 上的操作发送响应?

您可以设置一个处理程序,该处理程序将在不会触发其他注册处理程序的情况下调用。你的代码是这样的:

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

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

相关内容

最新更新