2016-11-07 8 views
3

私はアレクサを新しくしました。私は学び、天気アプリを作り始めました。アレクサの文字列スロットを与える

は、今私は以下のように都市を保持するために、カスタムスロット(LIST_OF_CITIES)をcraeatedきた気象データを取得することができるんだけど、下記の条件で、

{ 
    "intents": [ 
    { 
     "intent": "WeatherIntent", 
     "slots": [ 
     { 
      "name": "city", 
      "type": "LIST_OF_CITIES" 
     } 
     ] 
    }, 
    { 
     "intent": "AMAZON.HelpIntent" 
    }, 
    ] 
} 

と私のカスタムスロットで私は以下のように与えました。

Type    Values 
LIST_OF_CITIES  Hyderabad | pune | london 

と以下の私の発話が

WeatherIntent give me {city} climate 
WeatherIntent {city} 
WeatherIntent what's the climate in {city} 
WeatherIntent what's the weather in {city} 
WeatherIntent {city} 

ある私は上記の表に記載された3つの都市のいずれかを使用して私のプログラムを実行すると、私が正しいを取得することができますよ。上記以外のものを使用すると、-4として値が返されます。

私が他の都市の気温を上げたい場合は、その都市をスロットリストに追加する必要があります。

私はLOW_OF_CITIESに応じてどのようにvaueを動的に得ることができるか教えてください。都市名を入力すると結果が返されます。

また、タイプをLITERALとして、またAMAZON.LITERALとして追加しようとしました。私はそれを保存したとき、私は

Error: There was a problem with your request: Unknown slot name '{city}'. Occurred in sample 'WeatherIntent get me weather of {city}' on line 1. 
Please let me know where am I going wrong and how can I fix this. 

として例外を取得おかげ

答えて

1

アマゾンでは都市や地域に合わせてdefault list Slot Typesを提供しています。例えば。

  • AMAZON.US_CITY
  • AMAZON.AT_CITY
  • AMAZON.DE_REGION
  • ...

カスタムスロットを定義するときには、タイプとしてこれらを使用することができます。

1

まず、LITERAL使用していない - それが廃止されても、すべての米国の領域外ではサポートされていません。

いいえ、あなたは動的に単語のリストを管理することはできません。

AlexaはユーザーがあなたのLIST_OF_CITIESと一致するようにしようとしますが、それらの単語の1つを返そうとしますが、見た目と一致しない場合は別のものを返す可能性があります。そう、それらのそれぞれがちょうど一つの国であることから
https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-interaction-model-reference#h2_custom_syntax

をしかし、それはおそらくあなたのために動作しません。

はここを参照してください、あなたが使用してのオフに構築することができます都市のいくつかのカスタムスロットタイプがあります。 LIST_OF_CITIESに都市のリストを作成する必要があります。

関連する問題