问题标签 [jovo-framework]
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.
javascript - 在 node.js 中处理 PromiseRejection
我刚刚开始第一次使用 javascript。通过谷歌搜索,我只能找到通过您编写的函数处理承诺拒绝的示例。我的问题是
不是我写的。我希望能够在我的代码中处理被拒绝的承诺。我的大脑目前无法“获取 javascript”。
我有这个功能(在jovo框架中)
我收到错误“TypeError:无法读取未定义的属性‘内容’”。我知道为什么会出现此错误,我只是希望能够处理没有内容的情况。
它还说“UnhandledPromiseRejectionWarning:未处理的承诺拒绝”
我只是希望能够写出类似的东西
node.js - Error: Resource name 'foo' does not match 'projects/*/agent'
I'm trying to create a new Entity
on DialogFlow:
When I execute this code, however, I receive the following error:
Error: Resource name 'foo' does not match 'projects/*/agent'.
I've already used gcloud auth application-default login
to create API access credentials on my machine, with foo
configured as the currently selected project, but this hasn't helped.
What am I doing wrong?
node.js - 如何在 DialogFlow 上向用户询问准确的时间,包括时区?
我Intent
在 DialogFlow 上创建了一个期望用户提供时间实体的响应,例如:
- “我想安排大约八点钟”
- “今晚九点一刻。”
- “我在想五点十左右。”
DialogFlow 非常聪明地将每次调用中的相关实体正确识别为sys.time
.
但是,我的应用程序处理许多不同的时区。因此,当这些时间值实际到达我的 webhook 时,我无法可靠地将它们提供的信息与不同时区进行比较。即我收到像08:50
.
作为一种解决方法,我知道我可以将Google Maps Time Zone API与用户的 结合使用location
,但我希望我的应用程序能够在不需要特殊位置权限的情况下工作。
所以,我想知道,是否可以配置我Intent
将这些原始时间值识别为sys.datetime
?如果可能的话,我不想让用户承担必须指定日期的负担,并假设他们只是表示“今天”,如果他们只提供时间值。是否可以在 DialogFlow 中本地执行此操作,或者我更有可能需要在我的 webhook 上编写处理程序?
jovo-framework - JovoFramework - NEW_USER - 告诉不是函数
我正在使用 jovo 框架(版本 1.0.0),我面临以下问题:
在 app.js 中:
当用户不熟悉该技能时,我收到以下错误:
TypeError:this.tell 不是函数
我不能在 NEW_USER 中使用 this.tell 吗?
系统环境:
- Windows 10 家庭版
- 节点JS:v8.9.1
我非常感谢您能提供的任何帮助。
aws-lambda - JovoFramework - LAUNCH - isNewUser() 在 AWS Lambda 上始终为 false
我正在使用 jovo 框架(版本 1.0.0),我面临以下问题:
在 app.js 中:
在本地运行时,我可以区分 (isNewUser === true) 和 (isNewUser === false),但是一旦我将它作为 AWS 上的 lambda 函数执行,isNewUser 总是错误的。这是为什么?
并且另外
也不触发。
本地机器上的系统环境:
- Windows 10 家庭版
- 节点JS:v8.9.1
拉姆达函数:
- 节点JS 6.10
我非常感谢您能提供的任何帮助。
actions-on-google - Google 模拟器上的 Actions 不接受我的“应用名称”,只有“测试应用”
我正在 Google 上设置我的第 10 个(测试/演示)操作,模拟器仅支持我通过“与我的测试应用程序交谈”启动我的全新应用程序。
我如何才能说“与 {my app name here} 交谈”?
过去,在设置所有操作详细信息(通过“概览”屏幕)并单击“测试草稿”后,它通常会解决并且模拟器开始向我建议“与 {my app name here} 对话”。
但这一次没有发生。它卡在“与我的测试应用程序对话”上,并且已经持续了将近 24 小时。
有谁知道让动作模拟器接受使用我的实际应用程序名称的调用所需的魔法咒语?
我正在使用 Dialogflow,它实际上是使用Jovo 框架设置的- 使用“jovo deploy”来支持 Dialogflow 代理和 Actions 配置。我看不出 Jovo 与这里的问题有任何关系,但你永远不会知道软件!Dialogflow 和 Actions 中的所有配置对我来说都很好。
amazon-dynamodb - this.user().context 未定义 - Jovo 框架 - Alexa
我目前正在使用 Jovo 跨平台开发 Alexa 和 Google Assistant 的技能/操作。
我目前遇到了一个障碍,我试图通过执行以下任一操作来获得先前的意图:
this.user().context.prev[0].request.intent
或
this.user().getPrevIntent(0)
.
但它没有奏效。我得到context is undefined
并且getPrevIntent
不存在。根据Docs,我需要使用 DynamoDB 设置一个表(我做了,并验证了它正在工作,因为 Jovo 能够存储用户对象),并将默认配置传递给 App。但似乎仍然无法让它工作。有任何想法吗?
谢谢
javascript - Alexa如何实现意图确认?
我在执行意图确认时遇到了麻烦。文档真的很模糊。我目前正在使用 jovo 框架用 nodeJs 编写我的代码,这为我节省了大量时间。这是我要如何确认用户请求的示例:
用户:Alexa,播放 NRJ 收音机
Alexa:你想让我播放 NRJ 收音机吗?
用户:是的
Alexa:我将播放 NRJ 收音机
Alexa 播放 NRJ 收音机
我在 Alexa 控制台中启用了意图确认,我认为这就足够了。但是,事实并非如此。我需要知道如何才能完成这项工作。谢谢你。
我已多次阅读文档,但我不明白应该如何使用 dialog.delegate 来实现我的目标,以及是否应该以一种或另一种方式修改控制台中的 JSON 文件。
这真的很令人困惑,所以欢迎所有帮助。谢谢 :)
javascript - 即使 JSON 文件中不存在 slot.value,Alexa 也会激活意图
所以我有这个意图:
如果用户说:我想收听slot:radio_name ,则会激活它。
当我测试它时:
我想听 eaaehae。
Alexa 回复:
请求技能的响应有问题。
这很有意义,因为 eaaehar 在我提供的无线电数据库中不存在*
问题是当我测试它时:
我想听 eaaehae 广播。
Alexa 回复:
你想让我播放你愚蠢的 eaaehae 收音机吗?
这没有任何意义,因为我提供的无线电数据库中不存在 eaaehae 无线电有
没有人知道可能导致此问题的原因。谢谢 :)