首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Actions-on-Google SDK:响应而不注册处理程序

Actions-on-Google SDK:响应而不注册处理程序
EN

Stack Overflow用户
提问于 2018-06-29 23:07:45
回答 1查看 63关注 0票数 1

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

我使用express作为一个完整的填充的web服务器。在大多数情况下,我手动检查请求以决定响应什么,并手动发送JSON作为快速响应。在某些情况下,我使用在google上的动作,它被设置为下面来发送回复。

代码语言:javascript
运行
复制
const { DialogflowApp } = require("actions-on-google");
const assistant = new DialogflowApp({
    request: request,
    response: responseToAssistant
});

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

我现在更新到2.2版。然而,在这个版本中,我似乎必须注册所有意图的处理程序,才能使用在google上的动作来发送响应。

代码语言:javascript
运行
复制
app.intent('Default Welcome Intent', conv => { // (registering intent)
  conv.close('Thanks for talking to me!'); 
});

然而,要做到这一点,我将不得不重组整个项目。是否仍然可以手动检查请求(而不注册所有意图处理程序)并使用google上的操作发送响应?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-29 23:39:50

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

代码语言:javascript
运行
复制
app.fallback(conv => {
  conv.ask("Everything else is handled here!");
});

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51110383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档