2017-12-19 7 views
0

サービスシミュレータでテストしたときに、起動(新セッション)、未処理、Amazonのデフォルトインテント(キャンセル、ヘルプ、停止)が正常に動作していますが、書き込むものは動作していません。以下は、テスト目的の例は次のとおりです。Alexa lambda関数は、カスタム1以外のすべてのインテントを実行できますか?

var handlers = { 
'NewSession': function() { 
    this.emit(':tell', 'Hello'); 

'Test': function() { 
    this.emit(':tell','This intent is working');  
},  
'Unhandled': function() { 
    this.emit(':tell','Sorry, I don\'t know what to do');  
}, 
'AMAZON.HelpIntent': function(){ 
    this.emit(':ask', 'What can I help you with?', 'How can I help?'); 
}, 
'AMAZON.CancelIntent': function(){ 
    this.emit(':tell', 'Okay'); 
}, 
'AMAZON.StopIntent': function(){ 
     this.emit(':tell', 'Goodbye'); 
}, 


exports.handler = function(event,context){ 
var alexa = Alexa.handler(event,context); 
alexa.registerHandlers(handlers); 
alexa.execute(); 
}; 

テント用のコードスニペット:どんなに私は何をすべきか

"intents": [ 
    { 
    "name": "AMAZON.CancelIntent", 
    "samples": [] 
    }, 
    { 
    "name": "AMAZON.HelpIntent", 
    "samples": [] 
    }, 
    { 
    "name": "AMAZON.StopIntent", 
    "samples": [] 
    }, 
    { 
    "name": "ColorIntent", 
    "samples": [], 
    "slots": [ 
    { 
    "name": "Test", 
    "samples": [ 
     "Test me" 
    ], 
    "slots": [] 

、私はテストの意図が働くと、「これを返すために取得することはできません意図は、「助けてください。!

+0

コードとインテントは完全ではありません。コピー中に見逃したことはありますか?たとえば: 'NewSession'関数は'} 'によって閉じられません。' ColorIntent'インテントも閉じられません。あなたのコードとインテントはうまく構築されていますか? –

+0

ええ、私は無意識にコピーして貼り付けましたが、すべての括弧が一致する必要があります。コードとインテントはエラーなく正常に構築されています。 – kd1996

+0

コードにログを追加し、どのインテントが呼び出されているかを確認します。エラーログなしでは手助けできません –

答えて

2

あなたの最初の呼び出しは常に、その後で応答NewSessionハンドラによって処理されますので、多分それはだ 『働いているのHello』とセッションを終了します。 私はつまり、あなたのTestハンドラを起動するには二つの方法を参照してくださいに「この意図が働いている」で対応するためにあなたのスキルを取得:

  1. あなたはthis.emit(':ask', 'Hello! What do you want to do next?');であなたのNewSessionハンドラを終了した後、「私をテスト」発声することで、マルチターンの会話を作成します。
  2. NewSessionハンドラをLaunchRequestハンドラに置き換え、「Alexa、tell tie picker to test me」というスキルを呼び出します。

希望すると助かります! :)

ところで、私はまだどこにでもコメントすることができないので、あなたはあなたのラムダの状態を記録することができます。デバッグのためにconsole.log('Test handler invoked');を使用し、AWS CloudWatchのログを検索します。

関連する問題