标签: alexa-skills-kit

基本的Alexa技能

我已经下载了Alexa Skills在线教程:

https://github.com/amzn/alexa-skills-kit-js/blob/master/samples/reindeerGames/src/index.js

并遵循(我认为)教程中的所有说明:

https://developer.amazon.com/public/community/post/TxDJWS16KUPVKO/New-Alexa-Skills-Kit-Template-Build-a-Trivia-Skill-in-under-an-Hour

这是第一次Alexa Skills开发人员的教程.我的问题是,一旦我点击"保存并测试"按钮,我收到此错误消息:

errorMessage":"异常:TypeError:无法读取未定义的属性"application"

有谁知道上述错误意味着什么或如何摆脱它?

非常感谢.

alexa-skills-kit

2
推荐指数
1
解决办法
2402
查看次数

如何通过 AWS Lambda 调用 IPv6 REST 服务

我有一个托管在 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 服务?或者有更简单的解决方案吗?

java ipv6 aws-lambda alexa-skills-kit

2
推荐指数
1
解决办法
3892
查看次数

使用“alexa-app”依赖项将 Alexa 技能部署到 AWS Lambda

我写了一个简单的 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 代码编辑器中只使用一个文件。这可能吗?

amazon-web-services alexa aws-lambda alexa-skills-kit

2
推荐指数
1
解决办法
507
查看次数

在 Alexa 上流式传输 HTTP 音频源

根据https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/custom-audioplayer-interface-reference

音频文件必须托管在可通过 Internet 访问的 HTTPS 端点上。需要 HTTPS,并且托管文件的域必须提供有效、可信的 SSL 证书。

我想建立一种从 http(不是 https)端点流式传输源的技能。我该怎么做呢?

还有其他技能(例如 TuneIn 广播)似乎可以传输 http 源。除非他们代理他们,否则这将是一笔巨大的开销。

audio-streaming alexa-skills-kit

2
推荐指数
1
解决办法
1891
查看次数

亚马逊"Lex&Polly"与"Alexa语音服务+ Alexa技能套件"的区别

我最近看过一个教程,开发人员创建了一个alexa技能,然后在raspberry pi中安装了alexa语音服务,并使用该语音服务调用了该技能.所以我的详细问题是,我可以使用Amazon Lex执行相同的操作,用户可以将语音输入系统,调用Lex然后应用一些Amazon Lambda函数进行对话,然后使用Amazon polly将文本转换为语音以便回复用户?

亚马逊Lex

Alexa语音服务

amazon-web-services alexa-skills-kit alexa-voice-service amazon-polly amazon-lex

2
推荐指数
1
解决办法
3591
查看次数

在不使用特定技能名称的情况下调用Alexa技能

Alexa技能商店的一些技能仅使用"Ok Alexa,告诉我一个笑话"这样的句子来激活.或者"好的Alexa,你能复制我吗?" 不使用像"Ok Alexa,告诉[技能] [某事]"这样的标准调用.

如何用我的技巧使用这么短的句子?

alexa-skill alexa-skills-kit

2
推荐指数
2
解决办法
4060
查看次数

如何将随机句子存储为 Lex 或 Alexa 中的槽值?

我想存储用户给出的完整随机句子。如何将完整的随机句子作为 lex/alexa 的输入?我应该使用什么插槽类型?

chatbot alexa aws-lambda alexa-skills-kit amazon-lex

2
推荐指数
1
解决办法
1039
查看次数

以编程方式将自定义内容插入到意图确认消息中?

我正在使用适用于 Node.js V2AWS 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

2
推荐指数
1
解决办法
822
查看次数

无法读取未定义的Alexa SDK的属性“ getMonetizationServiceClient”

我正在尝试通过以下代码将“技能购买”添加到我的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 node.js aws-lambda alexa-skills-kit

2
推荐指数
1
解决办法
332
查看次数

Lambda arn:aws:lambda:us-east-1:xxxxxxxxx:function:nodejs-alexa-skill 的触发器设置无效。错误代码:SkillManifestError

我无法为我的 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

2
推荐指数
1
解决办法
938
查看次数