我已经下载了Alexa Skills在线教程:
https://github.com/amzn/alexa-skills-kit-js/blob/master/samples/reindeerGames/src/index.js
并遵循(我认为)教程中的所有说明:
这是第一次Alexa Skills开发人员的教程.我的问题是,一旦我点击"保存并测试"按钮,我收到此错误消息:
errorMessage":"异常:TypeError:无法读取未定义的属性"application"
有谁知道上述错误意味着什么或如何摆脱它?
非常感谢.
我有一个托管在 AWS Lambda 中的 Alexa Skill,它用于在以下示例 URL 下AsyncHttpClient调用REST 服务:IPv6
http://[2a12:5375:4151:2300:1353:a632:5f4e:c232]:4711/rest/test
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,我总是遇到以下异常:
ava.util.concurrent.ExecutionException: java.net.ConnectException: Protocol family unavailable
Run Code Online (Sandbox Code Playgroud)
如果我检查分配给底层服务器或应用程序的 IP 地址?,我会得到以下地址(也是示例):
ip-10-23-56-1.eu-west-1.compute.internal: 10.23.56.1
Run Code Online (Sandbox Code Playgroud)
所以我想,因为我使用的是 IPv6,而系统使用 IPv4,所以我无法让它工作?我可以从另一台服务器成功调用我的 REST 服务。
我还使用以下系统属性:
System.setProperty("java.net.preferIPv6Addresses", "true");
System.setProperty("java.net.preferIPv4Stack", "false");
Run Code Online (Sandbox Code Playgroud)
是否有任何解决方案可以在 IPv4 底层系统上提供“隧道”,以通过隧道传输 IPv6 地址来调用 REST 服务?或者有更简单的解决方案吗?
我写了一个简单的 Alexa 技能。它使用“alexa-app”作为依赖。
var alexa = require('alexa-app');
当我保存并测试我的技能时,我得到以下响应
{
"errorMessage": "Cannot find module 'alexa-app'",
"errorType": "Error",
"stackTrace": [
"Function.Module._load (module.js:276:25)",
"Module.require (module.js:353:17)",
"require (internal/module.js:12:17)",
"Object.<anonymous> (/var/task/index.js:4:13)",
"Module._compile (module.js:409:26)",
"Object.Module._extensions..js (module.js:416:10)",
"Module.load (module.js:343:32)",
"Function.Module._load (module.js:300:12)",
"Module.require (module.js:353:17)"
]
}
Run Code Online (Sandbox Code Playgroud)
是否可以使用此“alexa-app”依赖项而不将其烘焙到 zip 文件中。为了加快开发速度,我更喜欢在在线 Lambda 代码编辑器中只使用一个文件。这可能吗?
音频文件必须托管在可通过 Internet 访问的 HTTPS 端点上。需要 HTTPS,并且托管文件的域必须提供有效、可信的 SSL 证书。
我想建立一种从 http(不是 https)端点流式传输源的技能。我该怎么做呢?
还有其他技能(例如 TuneIn 广播)似乎可以传输 http 源。除非他们代理他们,否则这将是一笔巨大的开销。
我最近看过一个教程,开发人员创建了一个alexa技能,然后在raspberry pi中安装了alexa语音服务,并使用该语音服务调用了该技能.所以我的详细问题是,我可以使用Amazon Lex执行相同的操作,用户可以将语音输入系统,调用Lex然后应用一些Amazon Lambda函数进行对话,然后使用Amazon polly将文本转换为语音以便回复用户?
amazon-web-services alexa-skills-kit alexa-voice-service amazon-polly amazon-lex
Alexa技能商店的一些技能仅使用"Ok Alexa,告诉我一个笑话"这样的句子来激活.或者"好的Alexa,你能复制我吗?" 不使用像"Ok Alexa,告诉[技能] [某事]"这样的标准调用.
如何用我的技巧使用这么短的句子?
我想存储用户给出的完整随机句子。如何将完整的随机句子作为 lex/alexa 的输入?我应该使用什么插槽类型?
我正在使用适用于 Node.js V2的AWS ASK 开发工具包来构建 Alexa 技能,我想知道是否可以以编程方式为“意图确认”生成或更新“Alexa 提示”。
挑战在于我们正在搜索价格,目标是在询问价格之前将价格注入“意图确认”消息中。
我想尝试“重新提示”用户,并在我定价后强制重新提示,但这感觉很脏:
module.exports = {
canHandle(handlerInput) {
return (
handlerInput.requestEnvelope.request.type === 'IntentRequest' &&
handlerInput.requestEnvelope.request.intent.name ===
'HelloWorldIntent'
);
},
async handle(handlerInput) {
let speechText;
let repromptText;
//perform web request to get price
//then dynamically update the intent confirmation response prompt to include price,
//before asking intent confirmation prompt?
return handlerInput.responseBuilder
.speak(speechText)
.getResponse();
}
}Run Code Online (Sandbox Code Playgroud)
至少可以说缺乏文档。
javascript amazon-web-services alexa alexa-skill alexa-skills-kit
我正在尝试通过以下代码将“技能购买”添加到我的Alexa技能中:
const LaunchRequestHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === "LaunchRequest";
},
handle(handlerInput){
console.log("In LaunchRequest");
const locale = handlerInput.requestEnvelope.request.locale;
const ms = handlerInput.serviceClientFactory.getMonetizationServiceClient();
return ms.getInSkillProducts(locale).then(function(result) {
// Code to handle result.inSkillProducts goes here
const totalProducts = result.inSkillProducts.length;
const purchasableProducts = result.inSkillProducts.filter(record => record.purchasable == 'PURCHASABLE');
const entitledProducts = result.inSkillProducts.filter(record => record.entitled == 'ENTITLED');
return handlerInput.responseBuilder
.speak('Found total ' + result.inSkillProducts.length + ' products of which ' + purchasableProducts.length + ' are purchasable and ' + entitledProducts.length + ' are entitled.') …Run Code Online (Sandbox Code Playgroud) 我无法为我的 alexa 技能设置 lambda 函数。我不断收到以下错误:
The trigger setting for the Lambda arn:aws:lambda:us-east-1:xxxxx:function:nodejs-alexa-skill is invalid. Error code: SkillManifestError
Run Code Online (Sandbox Code Playgroud)
但我确实有其他技能,可以使用 lambda 函数而没有任何错误。所有其他设置似乎都很好。你能告诉我错误是什么吗?
谢谢
amazon-web-services alexa aws-lambda alexa-skill alexa-skills-kit
alexa-skills-kit ×10
alexa ×5
aws-lambda ×5
alexa-skill ×3
amazon-lex ×2
amazon-polly ×1
chatbot ×1
ipv6 ×1
java ×1
javascript ×1
node.js ×1