Tag: alexa

Alexa和mysql远程端点不能被调用或者input无效

我正在尝试将alexa连接到mysql。 数据库通过xampp存储在本地主机上。 我已经完美地获得了nodejs-mysql连接,但是当我尝试将其与alexa合并在一起时,它就这样说 “远程端点不能被调用,或者它返回的响应是无效的。” 我的数据库文件: – var mysql=require('mysql'); var con=mysql.createConnection({ host:'localhost', user: 'root', password:'', database:'ctp' }); function answer(){} answer.prototype.getdata= function(question,callback) { sql="select answer from jarvis where question="+question; con.query(sql,function(err,rows,fields) { callback(rows); }) } module.exports=answer; 我的index.js文件: – 'use strict'; var AlexaSkill = require('./AlexaSkill'), recipes = require('./recipes'), dbcon=require('./dbconfig'); var mys=new dbcon(); var APP_ID = "amzn1.ask.skill.1bfd2f06-1c46-464f-9f06-9195691e0aae"; //OPTIONAL: replace with […]

Alexa的意图不是等待API响应

我们正在使用alexa-app开发alexa技巧,我们试图从facebook获取专辑的一个目的是成功/失败,我们希望alexa作出相应的响应。 但意图是不等待FB电话来完成。 以下是我们正在使用的代码片段: function fetchAlbums(){ return new Promise(resolve =>{ FB.api("/me/albums", function (res) { if (res && !res.error) { // If we have data if (res.data) { resolve("Got Albums"); } else { // REPORT PROBLEM WITH PARSING DATA resolve("Error getting albums"); } } else { // Handle errors here. resolve("Error hitting endpoint"); } }); }); } […]

Alexa技巧,audio播放需要时间

我正在研究与audio播放列表的Alexa技能。audio放在同一个S3桶,我使用该特定位置的URL(启用云端)。 问题是一些audio需要一些时间才能开始(即5秒),而有些则很快就开始了。 文件大小或文件位置没有区别,所有audio都使用相同的代码。 虽然,我想这是Alexaaudio播放器的一些问题。 我的audio播放代码是: this.response.audioPlayerPlay('REPLACE_ALL', url, token, null, offset); 请注意,我在node.js工作,我的终点是一个lambda函数,我使用“alexa-sdk”(节点包) 我无法理解这个问题。 请帮忙。

节点JScallback与Alexa技能

我有一个模块,其中包括一个请求调用,似乎没有得到执行。 var request = require('request'); var Alexa = require('alexa-sdk'); var APP_ID = <my alexa app ID>; var self = module.exports = { handler : function (event, context, callback) { var alexa = Alexa.handler(event, context); alexa.appId = APP_ID; alexa.registerHandlers(self); alexa.execute(); }, "TestIntent": function () { var speechOutput = "Recorded Test"; request("http://www.google.com", function(error, response,body) { return console.log(body); […]

如何正确指定Alexa技能的lambda函数中的SSML?

我正在努力使Alexa的技能在Alexa中被标记为SSML。 我试图模仿在这个回购的例子,但我总是收到一个lambda响应 { … "response": { "outputSpeech": { "type": "SSML", "ssml": "<speak> [object Object] </speak>" }, … } 和Alexa的字面意思是“对象对象”。 这是我input到我的lambda函数(使用node.js): var speechOutput = { type: "SSML", ssml: 'This <break time=\"0.3s\" /> is not working', }; this.emit(':tellWithCard', speechOutput, SKILL_NAME, "ya best not repeat after me.") 像这样设置speechOutput也不起作用: var speechOutput = { type: "SSML", ssml: 'This <break time=\"0.3s\" […]

从AWS Lambda Alexa Intent,Node.js中发布到SNS

我有一个用Node.js编写的Lambda函数,可以成功发布到SNS。 当我在Alexa Lambda函数的Alexa意图中使用相同的函数时,只有在注释掉代码的Alexa部分时才会执行该函数。 这是独立的Lambda函数: var AWS = require("aws-sdk"); exports.handler = function() { var sns = new AWS.SNS(); var params = { Message: "Cheese", Subject: "Test SNS From Lambda", TopicArn: "arn:aws:sns:us-east-1:xxxxxxx:MyTopic" }; sns.publish(params, function(){}); }; 如果我然后尝试将SNS代码放入我的Alexa lambda函数的函数中,则不会执行。 Alexa代码的其余部分工作正常,但没有发布到SNS。 如果我把它的Alexa部分注释掉,它确实有效。 这是不起作用的代码(aws-sdk包含在文件的顶部,在本例中省略): exports.handler = function(event, context) { var sns = new AWS.SNS(); var params = { Message: "Cheese", […]

如何解决警告:应用程序ID没有设置?

我总是在我的日志文件中得到'应用程序ID没有设置'的错误,而我在这个例子中设置了这个ID: const APP_ID = 'amzn1.ask.skill.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'; 我该如何解决这个问题?

使用Alexa和JS的HTTP发布

我试图获得一个Alexa技能(JS / Lambda)使用HTTP.request将值发布到REST服务器。 我正在尝试一些简单的事情来完成工作。 我想我错过了一些明显的东西。 理想的技能使用 我说,“Alexa,告诉testing五”。 Alexa将代码中指定的URL更新为5。 Alexa说:“我已经把价值更新到了五点。” 问题 我有两个问题: 口语与打字的话语 。 如果我在亚马逊服务模拟器(“五”)中键入我的插槽值,该值将发布到我的服务器,因为它应该是。 但是,如果我说同样的话,即使Alexa正确地识别了这些单词(通过查看应用程序中的卡片确认),该值也不会被发布,并且她说:“我找不到问题的答案。 在哪里以及如何调用输出function 。 我想我需要添加类似下面两行的内容,但是根据我在当前代码中添加的位置,Alexa会响应而不更新节点,或者什么也不做。 var text = 'I have updated the value to' + targetSlot; output( text, context ); 调用名称 posting test 意图架构 { "intents": [ { "intent": "writeTarget", "slots": [ { "name": "Target", "type": "NUMBER" } ] }] } 示例话语 […]

问题与空的SpeechletResponse(Alexa)

有些东西与我的AMAZON.StopIntent搞砸了。 无论我放在哪里(我试过每个教程中的所有内容),只要被调用,我就会得到“请求的技能响应出现问题”,Alexa应用程序将错误显示为“speechletresponse不能为空”。 我的项目是在JSON,而不是Java格式。 如果有人能帮忙,我会非常感激! 谢谢! 按照要求,这是什么被发送到Lambda { "session": { "sessionId": "SessionId.XXXXX", "application": { "applicationId": "amzn1.ask.skill.XXXXXXX" }, "attributes": {}, "user": { "userId": "amzn1.ask.account.XXXXXXX" }, "new": true }, "request": { "type": "IntentRequest", "requestId": "EdwRequestId.XXXXXX", "locale": "en-US", "timestamp": "2017-01-18T22:38:53Z", "intent": { "name": "AMAZON.StopIntent", "slots": {} } }, "version": "1.0" } 这里是相关的代码: var handlers = { 'LaunchRequest': function () […]

问题与Claudia.js文本答复和Alexa

我正在研究Claudia.js机器人,它可以通过Slack,FB信使和Alexa技能来实现。 假设在克劳迪娅,你可以返回纯文本,框架将正确地返回到“前端”…我现在有什么这里工作正常与FB和松弛,但是当我通过Alexa“服务模拟器”我总是得到“回应无效”。 这是使用Claudia.js的lambda。 基本上,它从客户端获取消息,然后将它们分stream到另一个“AI”的Lambda。 Alexa似乎窒息了第67行。想法? const promiseDelay = require('promise-delay'); // const aws = require('aws-sdk'); // const lambda = new aws.Lambda(); const lambda = require('aws-lambda-invoke'); const botBuilder = require('claudia-bot-builder'); const stackTrace = require('stack-trace'); //const slackDelayedReply = botBuilder.slackDelayedReply; const getIntentName = alexaPayload => alexaPayload && alexaPayload.request && alexaPayload.request.type === 'IntentRequest' && alexaPayload.request.intent && alexaPayload.request.intent.name; const api = […]