Run exports.handle in AnswerIntentHandler - node.js - alexa skill
I am currently developing an Amazon Alexa Skill, which asks the user for a color. The user enters the color by voice and Alexa checks, if the color is in a defined array of values. If that is the case, it returns the color name with an ID. Now this works as intended, but now I would like to put this value in AWS DynamoDB. I read some tutorials on how to connect and to write into DynamoDB using AWS Lambda (Runtime Node.js 8.10)
So, in the following code, you can see my AnswerIntentHandler of my Alexa Skill. I included the exports. handle function to write the value of the ID of the color and the name of the color in the table called "alexa_farbe". But when I simulate the Skill with the Alexa Skill developer, the code only gives out the "speechText" and doesn't seem to run the code to write into the DynamoDB. Perhaps it is not possible to run a exports.handle in the AnswerIntentHanlder or is it? I am very new to this topic so I am not really sure where the mistake in this code is. I provide the code of my AnswerIntentHandler, but I can also provide the whole code of the Alexa Skill.
I hope somebody can give me a hint what to to.
const AnswerIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'AnswerIntent';
},
handle(handlerInput) {
const slots = handlerInput.requestEnvelope.request.intent.slots;
const number = slots['FarbAuswahl'].value;
var numberid = slots['FarbAuswahl'].resolutions.resolutionsPerAuthority[0].values[0].value.id; /* ID der Farbe auslesen */
var speechText = 0;
speechText = `Prima, ich stelle die Farbe ${number} mit der ID ${numberid} ein!`;
/* Ab hier Versuch in die Datenbank DynamoDB zu schreiben */
exports.handle = function(e, etx, callback) {
var params = {
Item: {
ID: '${numberid}',
Farbname: '${number}'
},
TableName: 'alexa_farbe'
};
docClient.put(params, function(err, data) {
if(err) {
callback(err, null);
} else {
callback(null, data);
}
});
};
return handlerInput.responseBuilder
.speak(speechText)
.withSimpleCard('Ausgewählte Farbe:', speechText)
.getResponse();
},
};
node.js amazon-dynamodb alexa-skills-kit
add a comment |
I am currently developing an Amazon Alexa Skill, which asks the user for a color. The user enters the color by voice and Alexa checks, if the color is in a defined array of values. If that is the case, it returns the color name with an ID. Now this works as intended, but now I would like to put this value in AWS DynamoDB. I read some tutorials on how to connect and to write into DynamoDB using AWS Lambda (Runtime Node.js 8.10)
So, in the following code, you can see my AnswerIntentHandler of my Alexa Skill. I included the exports. handle function to write the value of the ID of the color and the name of the color in the table called "alexa_farbe". But when I simulate the Skill with the Alexa Skill developer, the code only gives out the "speechText" and doesn't seem to run the code to write into the DynamoDB. Perhaps it is not possible to run a exports.handle in the AnswerIntentHanlder or is it? I am very new to this topic so I am not really sure where the mistake in this code is. I provide the code of my AnswerIntentHandler, but I can also provide the whole code of the Alexa Skill.
I hope somebody can give me a hint what to to.
const AnswerIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'AnswerIntent';
},
handle(handlerInput) {
const slots = handlerInput.requestEnvelope.request.intent.slots;
const number = slots['FarbAuswahl'].value;
var numberid = slots['FarbAuswahl'].resolutions.resolutionsPerAuthority[0].values[0].value.id; /* ID der Farbe auslesen */
var speechText = 0;
speechText = `Prima, ich stelle die Farbe ${number} mit der ID ${numberid} ein!`;
/* Ab hier Versuch in die Datenbank DynamoDB zu schreiben */
exports.handle = function(e, etx, callback) {
var params = {
Item: {
ID: '${numberid}',
Farbname: '${number}'
},
TableName: 'alexa_farbe'
};
docClient.put(params, function(err, data) {
if(err) {
callback(err, null);
} else {
callback(null, data);
}
});
};
return handlerInput.responseBuilder
.speak(speechText)
.withSimpleCard('Ausgewählte Farbe:', speechText)
.getResponse();
},
};
node.js amazon-dynamodb alexa-skills-kit
add a comment |
I am currently developing an Amazon Alexa Skill, which asks the user for a color. The user enters the color by voice and Alexa checks, if the color is in a defined array of values. If that is the case, it returns the color name with an ID. Now this works as intended, but now I would like to put this value in AWS DynamoDB. I read some tutorials on how to connect and to write into DynamoDB using AWS Lambda (Runtime Node.js 8.10)
So, in the following code, you can see my AnswerIntentHandler of my Alexa Skill. I included the exports. handle function to write the value of the ID of the color and the name of the color in the table called "alexa_farbe". But when I simulate the Skill with the Alexa Skill developer, the code only gives out the "speechText" and doesn't seem to run the code to write into the DynamoDB. Perhaps it is not possible to run a exports.handle in the AnswerIntentHanlder or is it? I am very new to this topic so I am not really sure where the mistake in this code is. I provide the code of my AnswerIntentHandler, but I can also provide the whole code of the Alexa Skill.
I hope somebody can give me a hint what to to.
const AnswerIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'AnswerIntent';
},
handle(handlerInput) {
const slots = handlerInput.requestEnvelope.request.intent.slots;
const number = slots['FarbAuswahl'].value;
var numberid = slots['FarbAuswahl'].resolutions.resolutionsPerAuthority[0].values[0].value.id; /* ID der Farbe auslesen */
var speechText = 0;
speechText = `Prima, ich stelle die Farbe ${number} mit der ID ${numberid} ein!`;
/* Ab hier Versuch in die Datenbank DynamoDB zu schreiben */
exports.handle = function(e, etx, callback) {
var params = {
Item: {
ID: '${numberid}',
Farbname: '${number}'
},
TableName: 'alexa_farbe'
};
docClient.put(params, function(err, data) {
if(err) {
callback(err, null);
} else {
callback(null, data);
}
});
};
return handlerInput.responseBuilder
.speak(speechText)
.withSimpleCard('Ausgewählte Farbe:', speechText)
.getResponse();
},
};
node.js amazon-dynamodb alexa-skills-kit
I am currently developing an Amazon Alexa Skill, which asks the user for a color. The user enters the color by voice and Alexa checks, if the color is in a defined array of values. If that is the case, it returns the color name with an ID. Now this works as intended, but now I would like to put this value in AWS DynamoDB. I read some tutorials on how to connect and to write into DynamoDB using AWS Lambda (Runtime Node.js 8.10)
So, in the following code, you can see my AnswerIntentHandler of my Alexa Skill. I included the exports. handle function to write the value of the ID of the color and the name of the color in the table called "alexa_farbe". But when I simulate the Skill with the Alexa Skill developer, the code only gives out the "speechText" and doesn't seem to run the code to write into the DynamoDB. Perhaps it is not possible to run a exports.handle in the AnswerIntentHanlder or is it? I am very new to this topic so I am not really sure where the mistake in this code is. I provide the code of my AnswerIntentHandler, but I can also provide the whole code of the Alexa Skill.
I hope somebody can give me a hint what to to.
const AnswerIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'AnswerIntent';
},
handle(handlerInput) {
const slots = handlerInput.requestEnvelope.request.intent.slots;
const number = slots['FarbAuswahl'].value;
var numberid = slots['FarbAuswahl'].resolutions.resolutionsPerAuthority[0].values[0].value.id; /* ID der Farbe auslesen */
var speechText = 0;
speechText = `Prima, ich stelle die Farbe ${number} mit der ID ${numberid} ein!`;
/* Ab hier Versuch in die Datenbank DynamoDB zu schreiben */
exports.handle = function(e, etx, callback) {
var params = {
Item: {
ID: '${numberid}',
Farbname: '${number}'
},
TableName: 'alexa_farbe'
};
docClient.put(params, function(err, data) {
if(err) {
callback(err, null);
} else {
callback(null, data);
}
});
};
return handlerInput.responseBuilder
.speak(speechText)
.withSimpleCard('Ausgewählte Farbe:', speechText)
.getResponse();
},
};
node.js amazon-dynamodb alexa-skills-kit
node.js amazon-dynamodb alexa-skills-kit
edited Nov 15 '18 at 8:58
D.Mendes
11810
11810
asked Nov 15 '18 at 8:32
Lukas SeegerLukas Seeger
61
61
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
You should not put the code in the exports.handler
. Please take a look at this example (the DynamoDB support code is in the helpers.js
file). As a coincidence it's also working with colors.
If the data you're storing is associated to each skill user (eg. a user attribute) a much easier way to do DynamoDB persistence is to use ASK persistent attributes (already supported in the ASK SDK).
Thank you for your answer! I must admit, that I am very new to coding and I got a little bit lost in the code you provided. You want me to put the whole DynamoDB connection into another file and then call this file with my Alexa Skill code right? Is it possible for you to provide an easy example to just call another file in node.js (like calling the helpers.js in your case) and provide this code with the data which needs to be wirtten into the DynamoDB? Thanks again!
– Lukas Seeger
Nov 19 '18 at 6:22
Lukas I'm afraid that's out of scope of what I do here in Stackoverflow (mostly Alexa skill development). I recommend you try to find more material online to learn javascript!
– German
Nov 28 '18 at 3:52
add a comment |
I tried to edit the code and put the whole DynamoDB posting to another file called dynamodb.js. This is the content:
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});
exports.handle = function(e, ctx, callback) {
var params = {
Item: {
date: Date.now(),
message: "This hopefully works"
},
TableName: 'alexa_farbe'
};
docClient.put(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
};
I just want to write the date and an example phrase into my DynamoDB.
To trigger this function, I tried to implement some kind of "runScript" into my AnswerIntentHandler of my Alexa Skill.
But it doesn't seem to trigger the file. Can you give me some advice whats wrong with this code and how to call another node.js file from the AnswerIntent.
Here is my edited AnswerIntent:
const AnswerIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'AnswerIntent';
},
handle(handlerInput) {
const slots = handlerInput.requestEnvelope.request.intent.slots;
let number = slots['FarbAuswahl'].value;
let numberid = slots['FarbAuswahl'].resolutions.resolutionsPerAuthority[0].values[0].value.id; /* ID der Farbe auslesen */
var speechText = 0;
speechText = `Prima, ich stelle die Farbe ${number} mit der ID ${numberid} ein!`;
module.runScript('./some-script.js', function (err) {
if (err) throw err;
console.log('finished running some-script.js');
});
return handlerInput.responseBuilder
.speak(speechText)
.withSimpleCard('Ausgewählte Farbe:', speechText)
.getResponse();
},
};
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53315224%2frun-exports-handle-in-answerintenthandler-node-js-alexa-skill%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You should not put the code in the exports.handler
. Please take a look at this example (the DynamoDB support code is in the helpers.js
file). As a coincidence it's also working with colors.
If the data you're storing is associated to each skill user (eg. a user attribute) a much easier way to do DynamoDB persistence is to use ASK persistent attributes (already supported in the ASK SDK).
Thank you for your answer! I must admit, that I am very new to coding and I got a little bit lost in the code you provided. You want me to put the whole DynamoDB connection into another file and then call this file with my Alexa Skill code right? Is it possible for you to provide an easy example to just call another file in node.js (like calling the helpers.js in your case) and provide this code with the data which needs to be wirtten into the DynamoDB? Thanks again!
– Lukas Seeger
Nov 19 '18 at 6:22
Lukas I'm afraid that's out of scope of what I do here in Stackoverflow (mostly Alexa skill development). I recommend you try to find more material online to learn javascript!
– German
Nov 28 '18 at 3:52
add a comment |
You should not put the code in the exports.handler
. Please take a look at this example (the DynamoDB support code is in the helpers.js
file). As a coincidence it's also working with colors.
If the data you're storing is associated to each skill user (eg. a user attribute) a much easier way to do DynamoDB persistence is to use ASK persistent attributes (already supported in the ASK SDK).
Thank you for your answer! I must admit, that I am very new to coding and I got a little bit lost in the code you provided. You want me to put the whole DynamoDB connection into another file and then call this file with my Alexa Skill code right? Is it possible for you to provide an easy example to just call another file in node.js (like calling the helpers.js in your case) and provide this code with the data which needs to be wirtten into the DynamoDB? Thanks again!
– Lukas Seeger
Nov 19 '18 at 6:22
Lukas I'm afraid that's out of scope of what I do here in Stackoverflow (mostly Alexa skill development). I recommend you try to find more material online to learn javascript!
– German
Nov 28 '18 at 3:52
add a comment |
You should not put the code in the exports.handler
. Please take a look at this example (the DynamoDB support code is in the helpers.js
file). As a coincidence it's also working with colors.
If the data you're storing is associated to each skill user (eg. a user attribute) a much easier way to do DynamoDB persistence is to use ASK persistent attributes (already supported in the ASK SDK).
You should not put the code in the exports.handler
. Please take a look at this example (the DynamoDB support code is in the helpers.js
file). As a coincidence it's also working with colors.
If the data you're storing is associated to each skill user (eg. a user attribute) a much easier way to do DynamoDB persistence is to use ASK persistent attributes (already supported in the ASK SDK).
answered Nov 18 '18 at 20:54
GermanGerman
7,39042947
7,39042947
Thank you for your answer! I must admit, that I am very new to coding and I got a little bit lost in the code you provided. You want me to put the whole DynamoDB connection into another file and then call this file with my Alexa Skill code right? Is it possible for you to provide an easy example to just call another file in node.js (like calling the helpers.js in your case) and provide this code with the data which needs to be wirtten into the DynamoDB? Thanks again!
– Lukas Seeger
Nov 19 '18 at 6:22
Lukas I'm afraid that's out of scope of what I do here in Stackoverflow (mostly Alexa skill development). I recommend you try to find more material online to learn javascript!
– German
Nov 28 '18 at 3:52
add a comment |
Thank you for your answer! I must admit, that I am very new to coding and I got a little bit lost in the code you provided. You want me to put the whole DynamoDB connection into another file and then call this file with my Alexa Skill code right? Is it possible for you to provide an easy example to just call another file in node.js (like calling the helpers.js in your case) and provide this code with the data which needs to be wirtten into the DynamoDB? Thanks again!
– Lukas Seeger
Nov 19 '18 at 6:22
Lukas I'm afraid that's out of scope of what I do here in Stackoverflow (mostly Alexa skill development). I recommend you try to find more material online to learn javascript!
– German
Nov 28 '18 at 3:52
Thank you for your answer! I must admit, that I am very new to coding and I got a little bit lost in the code you provided. You want me to put the whole DynamoDB connection into another file and then call this file with my Alexa Skill code right? Is it possible for you to provide an easy example to just call another file in node.js (like calling the helpers.js in your case) and provide this code with the data which needs to be wirtten into the DynamoDB? Thanks again!
– Lukas Seeger
Nov 19 '18 at 6:22
Thank you for your answer! I must admit, that I am very new to coding and I got a little bit lost in the code you provided. You want me to put the whole DynamoDB connection into another file and then call this file with my Alexa Skill code right? Is it possible for you to provide an easy example to just call another file in node.js (like calling the helpers.js in your case) and provide this code with the data which needs to be wirtten into the DynamoDB? Thanks again!
– Lukas Seeger
Nov 19 '18 at 6:22
Lukas I'm afraid that's out of scope of what I do here in Stackoverflow (mostly Alexa skill development). I recommend you try to find more material online to learn javascript!
– German
Nov 28 '18 at 3:52
Lukas I'm afraid that's out of scope of what I do here in Stackoverflow (mostly Alexa skill development). I recommend you try to find more material online to learn javascript!
– German
Nov 28 '18 at 3:52
add a comment |
I tried to edit the code and put the whole DynamoDB posting to another file called dynamodb.js. This is the content:
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});
exports.handle = function(e, ctx, callback) {
var params = {
Item: {
date: Date.now(),
message: "This hopefully works"
},
TableName: 'alexa_farbe'
};
docClient.put(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
};
I just want to write the date and an example phrase into my DynamoDB.
To trigger this function, I tried to implement some kind of "runScript" into my AnswerIntentHandler of my Alexa Skill.
But it doesn't seem to trigger the file. Can you give me some advice whats wrong with this code and how to call another node.js file from the AnswerIntent.
Here is my edited AnswerIntent:
const AnswerIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'AnswerIntent';
},
handle(handlerInput) {
const slots = handlerInput.requestEnvelope.request.intent.slots;
let number = slots['FarbAuswahl'].value;
let numberid = slots['FarbAuswahl'].resolutions.resolutionsPerAuthority[0].values[0].value.id; /* ID der Farbe auslesen */
var speechText = 0;
speechText = `Prima, ich stelle die Farbe ${number} mit der ID ${numberid} ein!`;
module.runScript('./some-script.js', function (err) {
if (err) throw err;
console.log('finished running some-script.js');
});
return handlerInput.responseBuilder
.speak(speechText)
.withSimpleCard('Ausgewählte Farbe:', speechText)
.getResponse();
},
};
add a comment |
I tried to edit the code and put the whole DynamoDB posting to another file called dynamodb.js. This is the content:
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});
exports.handle = function(e, ctx, callback) {
var params = {
Item: {
date: Date.now(),
message: "This hopefully works"
},
TableName: 'alexa_farbe'
};
docClient.put(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
};
I just want to write the date and an example phrase into my DynamoDB.
To trigger this function, I tried to implement some kind of "runScript" into my AnswerIntentHandler of my Alexa Skill.
But it doesn't seem to trigger the file. Can you give me some advice whats wrong with this code and how to call another node.js file from the AnswerIntent.
Here is my edited AnswerIntent:
const AnswerIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'AnswerIntent';
},
handle(handlerInput) {
const slots = handlerInput.requestEnvelope.request.intent.slots;
let number = slots['FarbAuswahl'].value;
let numberid = slots['FarbAuswahl'].resolutions.resolutionsPerAuthority[0].values[0].value.id; /* ID der Farbe auslesen */
var speechText = 0;
speechText = `Prima, ich stelle die Farbe ${number} mit der ID ${numberid} ein!`;
module.runScript('./some-script.js', function (err) {
if (err) throw err;
console.log('finished running some-script.js');
});
return handlerInput.responseBuilder
.speak(speechText)
.withSimpleCard('Ausgewählte Farbe:', speechText)
.getResponse();
},
};
add a comment |
I tried to edit the code and put the whole DynamoDB posting to another file called dynamodb.js. This is the content:
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});
exports.handle = function(e, ctx, callback) {
var params = {
Item: {
date: Date.now(),
message: "This hopefully works"
},
TableName: 'alexa_farbe'
};
docClient.put(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
};
I just want to write the date and an example phrase into my DynamoDB.
To trigger this function, I tried to implement some kind of "runScript" into my AnswerIntentHandler of my Alexa Skill.
But it doesn't seem to trigger the file. Can you give me some advice whats wrong with this code and how to call another node.js file from the AnswerIntent.
Here is my edited AnswerIntent:
const AnswerIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'AnswerIntent';
},
handle(handlerInput) {
const slots = handlerInput.requestEnvelope.request.intent.slots;
let number = slots['FarbAuswahl'].value;
let numberid = slots['FarbAuswahl'].resolutions.resolutionsPerAuthority[0].values[0].value.id; /* ID der Farbe auslesen */
var speechText = 0;
speechText = `Prima, ich stelle die Farbe ${number} mit der ID ${numberid} ein!`;
module.runScript('./some-script.js', function (err) {
if (err) throw err;
console.log('finished running some-script.js');
});
return handlerInput.responseBuilder
.speak(speechText)
.withSimpleCard('Ausgewählte Farbe:', speechText)
.getResponse();
},
};
I tried to edit the code and put the whole DynamoDB posting to another file called dynamodb.js. This is the content:
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});
exports.handle = function(e, ctx, callback) {
var params = {
Item: {
date: Date.now(),
message: "This hopefully works"
},
TableName: 'alexa_farbe'
};
docClient.put(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
};
I just want to write the date and an example phrase into my DynamoDB.
To trigger this function, I tried to implement some kind of "runScript" into my AnswerIntentHandler of my Alexa Skill.
But it doesn't seem to trigger the file. Can you give me some advice whats wrong with this code and how to call another node.js file from the AnswerIntent.
Here is my edited AnswerIntent:
const AnswerIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'AnswerIntent';
},
handle(handlerInput) {
const slots = handlerInput.requestEnvelope.request.intent.slots;
let number = slots['FarbAuswahl'].value;
let numberid = slots['FarbAuswahl'].resolutions.resolutionsPerAuthority[0].values[0].value.id; /* ID der Farbe auslesen */
var speechText = 0;
speechText = `Prima, ich stelle die Farbe ${number} mit der ID ${numberid} ein!`;
module.runScript('./some-script.js', function (err) {
if (err) throw err;
console.log('finished running some-script.js');
});
return handlerInput.responseBuilder
.speak(speechText)
.withSimpleCard('Ausgewählte Farbe:', speechText)
.getResponse();
},
};
answered Nov 19 '18 at 7:40
Lukas SeegerLukas Seeger
61
61
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53315224%2frun-exports-handle-in-answerintenthandler-node-js-alexa-skill%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown