Как получить количество (длину) значений слотов для навыка Alexa

Я пытаюсь создать случайный ответ для своего навыка Alexa. Я установил это как:

  • Intent = myIntent
  • Slot = mySlot
  • Slot Type = mySlotType
  • Slot Values = {A,B,C,D} // идентификаторы - уникальные числа 1-4

когда пользователь произносит такое слово, как A, он использует это для создания ответа. Теперь я хочу добавить случай для «случайного».

Итак Slot Values = {random,A,B,C,D}. // ID для random равен 0

Когда пользователь говорит "случайный", я хочу случайным образом выбрать из другого Slot Values и использовать это для создания ответа.

Можно ли использовать идентификатор значения слота для возврата значения значения слота?

Кто-нибудь знает хороший способ сделать это? Я новичок, прошу прощения за очевидные упущения.


person B Kam    schedule 20.08.2019    source источник


Ответы (2)


Это может быть обходным путем для вашей проблемы. Вы можете получить JSON структуру своей модели взаимодействия и использовать ее как константу в вашем index.js файле лямбда. Обычно я использую этот официальный инструмент для генерации внутреннего кода для своих навыков: https://s3.amazonaws.com/webappvui/skillcode/v2/index.html.

Когда вы сгенерируете код с помощью этого инструмента, вы увидите, что сгенерированный код также имеет всю модель взаимодействия, используемую как постоянную. Поскольку в вашем распоряжении будет вся JSON схема модели взаимодействия, вы можете выполнять с ней любые действия.

Примечание. Если вы не знаете, где взять JSON схему своей модели взаимодействия, прокрутите вниз вкладку build своего навыка в консоли разработчика, вы найдете меню редактора JSON на левая навигация. Это даст вам JSON схему вашей модели взаимодействия.

person Akhilesh Awasthi    schedule 16.09.2019
comment
Это хороший быстрый способ скопировать + вставить все значения слота. Спасибо за предложение, это хороший обходной путь. - person B Kam; 17.09.2019

Вы можете использовать mySlot в качестве необязательного значения в описании намерения. Например, вы можете добавить несколько фраз без слота внутри них. А на внутренней стороне вы можете проверить, заполнен ли слот. Если он не заполнен, вы можете сгенерировать случайный ответ.

person fdistorted    schedule 22.08.2019