私はスキルSkillIntent
を持っています。特定のゲームについて質問すると、そのスキルの説明が返ってきます。完璧に動作します - 私が今しようとしているのは、WHOがスキルを持っているという返事です。以下は1つのAlexaスキルで異なる呼び出し
私の作業コードです:
'use strict';
var AlexaSkill = require('./AlexaSkill'),
descriptions = require('./descriptions');
var APP_ID = undefined;
var ZombicideSkills = function() {
AlexaSkill.call(this, APP_ID);
};
// Extend AlexaSkill
ZombicideSkills.prototype = Object.create(AlexaSkill.prototype);
ZombicideSkills.prototype.constructor = ZombicideSkills;
ZombicideSkills.prototype.eventHandlers.onLaunch = function (launchRequest, session, response) {
var speechText = "You can ask a question like, what does this skill do? ... Now, what can I help you with.";
var repromptText = "For instructions on what you can say, please say help me.";
response.ask(speechText, repromptText);
};
ZombicideSkills.prototype.intentHandlers = {
"SkillIntent": function (intent, session, response) {
var skillSlot = intent.slots.Skill,
skillName;
if (skillSlot && skillSlot.value){
skillName = skillSlot.value.toLowerCase();
}
var cardTitle = "Description for " + skillName,
description = descriptions[skillName],
speechOutput,
repromptOutput;
if (description) {
speechOutput = {
speech: description,
type: AlexaSkill.speechOutputType.PLAIN_TEXT
};
response.tellWithCard(speechOutput, cardTitle, description);
} else {
var speech;
if (skillName) {
speech = "I'm sorry, I don't know if I know " + skillName + ". What else can I help with?";
} else {
speech = "I'm sorry, I currently do not know that skill. What else can I help with?";
}
speechOutput = {
speech: speech,
type: AlexaSkill.speechOutputType.PLAIN_TEXT
};
repromptOutput = {
speech: "What else can I help with?",
type: AlexaSkill.speechOutputType.PLAIN_TEXT
};
response.ask(speechOutput, repromptOutput);
}
},
"AMAZON.StopIntent": function (intent, session, response) {
var speechOutput = "Goodbye";
response.tell(speechOutput);
},
"AMAZON.CancelIntent": function (intent, session, response) {
var speechOutput = "Goodbye";
response.tell(speechOutput);
},
"AMAZON.HelpIntent": function (intent, session, response) {
var speechText = "You can ask questions such as, what does this skill do, or, you can say exit... Now, what can I help you with?";
var repromptText = "You can say things like, what does this skill do, or you can say exit... Now, what can I help you with?";
var speechOutput = {
speech: speechText,
type: AlexaSkill.speechOutputType.PLAIN_TEXT
};
var repromptOutput = {
speech: repromptText,
type: AlexaSkill.speechOutputType.PLAIN_TEXT
};
response.ask(speechOutput, repromptOutput);
}
};
exports.handler = function (event, context) {
var zombicide = new ZombicideSkills();
zombicide.execute(event, context);
};
これは、MCヘルパーのものと非常によく似たモデル化しています。私はちょうど 'ActorIntent'と呼ばれる追加のintentHandlerを実装し、次にUtterencesで指定します。ActorIntent what {actors} have the {skill} skill?
私はこのアイデアで遊んできましたが、ラムダ関数のトラブルシューティング方法はまだ分かりません。エンドポイントが到達可能かどうかを確認してください。
これに2つの異なるスキルを持たなければならないと迷惑でしょうが、わかりません。それはちょうど私のコードベースの問題ですか、私は行くことができると問題なしでActorIntent
を作成することができるはずですか?
はそれを感謝 - 私の二次テントが関数、または何か他のものを壊した場合、私はわかりませんでした。ありがとう。 – DNorthrup