Проблема значения слота Alexa - PullRequest
1 голос
/ 01 мая 2019

Позвольте мне рассказать о моей проблеме.

У меня есть пользовательский тип слота YesNo . Он обрабатывает да нет и это синонимы. Я использую NodeJ для своих обработчиков.

У меня есть OfferIntent, где я использую этот слот. Я сделал этот слот обязательным, и я обрабатываю подсказки в своем коде. Code всегда задает вопрос «да» или «нет», например: «Бла-бла-бла и Вы заинтересованы в подаче заявки на это предложение?».

Я настроил пользовательские высказывания для этого слота, например,

{confirmation} please
{confirmation} I am
{confirmation}

Проблема в том, что когда я добавляю ElicitSlotDirective для этого слота из другого намерения, и если я отвечаю просто «да», это не продвигается вперед. Журнал устройства показывает «да» в качестве значения, полученного Алекса, но все равно он повторяет запрос. Когда я отвечаю «Да, я есть» или «Да, пожалуйста», это работает как ожидалось.

 return handlerInput.responseBuilder
          .addElicitSlotDirective("confirmation", {
            name: "OfferIntent",
            confirmationStatus: "NONE",
            slots: {}
          })
          .speak(speechText + speechText1)
          .reprompt(speechText1)
          .getResponse();

Если я получаю доступ к этому намерению напрямую вместо перенаправления с использованием addElicitSlotDirective, «да» работает нормально.

Я сравнил журналы устройств для обоих случаев и не обнаружил никакой разницы, кроме времени и requestID.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Я думаю, что это проблема с Алекса. Пожалуйста, поделитесь своими мыслями.

...