问题标签 [dialogflow-es-fulfillment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1070 浏览

php - 履行响应解析错误:“期望消息对象”

我正在尝试对简单的请求做出正确的履行响应:

回应是:

DialogFlow 回复:

Webhook 调用失败。错误:无法解析 webhook JSON 响应:期望消息对象但得到:[“ok”]。

什么是正确的回复,所以 DialogFlow 会接受它?

0 投票
0 回答
1173 浏览

firebase - 与 firebase 的对话流连接错误:Webhook 调用失败。错误:请求超时

通过云函数内联编辑器的 Dialogflow 代理给出以下错误:“Webhook 调用失败。错误:请求超时。” 触发云函数“handleReadTemp”时

无法观察到任何其他错误,测试了意图本身,并且它适用于其他基本/非 firebase 相关响应。

内联编辑器云功能代码;

诊断信息 - 响应:

诊断信息 - 履行请求

任何方向将不胜感激。

0 投票
1 回答
388 浏览

dialogflow-es - DialogFlow 会话实体和解析为我的数据库中的值

这有点难以解释,所以我希望使用一个例子是最有效的。

我们正在构建一个服务,允许Parent维护他们的列表Children并针对这些执行操作Children

Parent用户向 DF 代理/意图发出话语。

Parent使用 DF 之前,通过 Web UI(非 DF)将他们的孩子(姓名)添加到数据库中。

这意味着我们可能有一个数据库表示,如下所示

父表

儿童桌

意图短语具有以下格式和参数

我们遇到的问题是如何解决这个问题,以便在代理提取参数时,将它们以正确的子名称传递给履行,以便我们可以使用该名称让用户运行验证并提供实现的上下文。

例如,如果用户 A发出以下话语

我们如何确保代理在将参数传递给履行时提取“John”而不是“Jon”?

我已经看到了一些关于会话实体的建议,甚至通读了City Streets Trivia Example,但是会话实体似乎依赖于会话特定值的想法(我的示例中的子名称,链接中提供的示例中的街道名称)是全局的维护而不是特定于任何用户。

我不确定在我的情况下这将如何工作。不能指望我维护所有可能名称的列表,即使可以,我也会有多个JohnJon的条目,并且仍然无法让代理知道我会假设使用哪个。

也许有一种方法可以为每次使用动态添加实体占位符,并根据我们存储在数据库中的值动态地为该实体添加可能的参数值,但这似乎不可维护且不切实际?

DF 中对话式设计的此类问题的解决方案是什么?这似乎很常见(将项目从待办事项列表或购物清单应用程序中标记出来)。

0 投票
1 回答
1157 浏览

node.js - 适用于 Telegram、Facebook、Slack 等平台的自定义有效负载,用于 Nodejs 中的 DialogFlow

我想问一下如何在 Facebook、Telegram 等其他平台上自定义轮播、图像的有效负载。

信息

  1. DialogFlow API 版本:V2 API
  2. 节点版本:v8.10.0
  3. 正文解析器版本:^1.18.3
  4. 快递:^4.16.4

这是向 Telegram 和 Google 返回轮播响应的代码片段。它在谷歌助手中工作,但未能在电报中显示轮播列表。Telegram 中仅显示文本“类别列表”。

Telegram 的有效负载是否有任何错误?有人可以提供这方面的指导吗?

0 投票
1 回答
793 浏览

dialogflow-es - 读取 DialogFlow 的 excel 文件

是否可以为机器人上传一个 excel/json 文件,并在匹配意图后通过实现中编写的代码读取它。例如,我有一本 excel 格式的字典,我想接受用户输入并为该词返回含义。所有单词及其含义都存储在excel中。这可以通过编写 js 代码来读取 excel(可能存储在某处)来完成,或者我们需要通过为数据库创建一个 webhook 来完成,如下所示https://medium.com/@pallavtrivedi03/how-to-为dialogflow-fulfillment-d02835cc50bf制作一个webhook

0 投票
1 回答
328 浏览

node.js - 如何在 Dialogflow 实现中检测返回到 Android 上的 Google 助理的用户?

我有一个正在运行的网站,用户已经拥有帐户。我正在尝试创建一个可在 Android 上访问的 Google Assistant 代理,以帮助用户访问他们的信息。

我的问题是,每次他们必须登录时,我都无法检测到 Android 智能手机上的回访用户。

我尝试了匿名用户身份,但它很快就会被弃用。

还有其他方法可以跟踪用户吗?使用userId我可以存储的某种方式,这样我就可以进行“我自己的帐户链接”,将个人/智能手机与现有的用户帐户联系起来。

0 投票
1 回答
379 浏览

dialogflow-es - 如何停止对话流总是返回应该将今天解析为明天的日期

我遇到了一个问题,当 Dialogflow 为我的意图解析 @sys.date-time 参数时使用类似“早上 5 点”之类的文本它们会在今天应该在明天返回。

(今天截至目前是 2019-04-08,而不是 2019-04-09 已解决)

@sys.any在这个请求中也确实有一个我怀疑这可能会导致问题。(我宁愿它是一个用户定义的实体,但匹配在模棱两可的上下文中不够可靠,所以我必须自己做)。

有没有人有这方面的经验并且知道我可能会遇到的任何问题?我原以为没有任何其他修饰符的“凌晨 5 点”应该解析为今天的凌晨 5 点

0 投票
0 回答
206 浏览

dialogflow-es - Dialogflow textToSpeech 实现未大声朗读文本

我在纯音频设备(例如 google home)上为用户提供响应,当我在 simpleResponse 中使用 textToSpeech 字段进行响应时,语音不会在模拟器中读出。

有没有人经历过这个并且知道如何解决?

我尝试了不同的响应类型,但没有一个能读出 textToSpeech 字段。还尝试在 Dialogflow 中勾选/取消勾选结束对话切换,并在使用 JSON 响应时期望用户输入 true/false 无济于事。

该响应当前由一个使用 JSON v2 实现 blob 响应的 webhook 实现,并且模拟器接收到没有错误的响应,但不会将其读出。

回复 -

要求 -

我希望模拟器能读出 textToSpeech 的结果,但目前没有。

0 投票
1 回答
380 浏览

node.js - 如何制作多语言 Dialogflow webhook/fulfillment?

我已经用英语构建了一个 Dialogflow 应用程序。我使用 NodeJs webhook 来提供答案。

现在,我想添加一种新语言(西班牙语)。有没有办法在不复制 webhook 的情况下添加它?

是否有像 I18N 这样的预建库,我在其中提供翻译并根据"languageCode": "en"我发送答案?

0 投票
1 回答
160 浏览

google-apps-script - 在 Dialog flow fullfillment 中调用 Google sheet 宏

我在对话流中创建了一个代理。我在 Google 工作表上添加了一个宏来添加新行。同样已发布为网络应用程序。当我从浏览器执行 Web 应用程序时,它运行良好,并且我看到根据需要在 google 工作表中添加了一个新行。我想使用 Dialog flow 中的宏来实现。

但是,该操作不会导致使用 webhook。网络应用程序的链接在这里:https ://script.google.com/macros/s/AKfycbyJHW0HlopUtfCB6naxgxJ2mooR5g980jJlhR-sGgMe0Uqyww/exec

我没有生成任何 API 密钥。是否需要 API 密钥才能从 Dialog 流调用宏?