Jovo FrameWork: this.followUpState не выполняет свою работу так, как должно - PullRequest
0 голосов
/ 06 июля 2018

У меня есть это намерение

       'NameIntent': function(name) {

  let speech = 'Hello  ' + name.value + ', nice to meet you! which Radio do you want me to play? ;

      this.followUpState('MakeSureEnterRadioIntentState').ask(speech);
      },

, которое вызывается высказыванием {имя}. Пример: пользователь говорит: SAM

Код stateIntent выглядит следующим образом:
PlayRadioIntent запускается с высказыванием {radioName}. Пример: пользователь говорит: Mosaique

'MakeSureEnterRadioIntentState': { //TO solve this problem: IN CASE USER SAYS MOSAIQUE AFTER NAMEINTENT ALEXA WILL INTERPRET MOSAIQUE AS A NAME AND WILL REENTER NAMEINTENT

    'PlayRadioIntent': function(channel) {
      this.tell("The radioName is" + channel.value);}

Проблема, которую я пытался решить с помощью этого состояния:
АЛЕКСА: Привет, Сэм, приятно познакомиться! на каком радио ты хочешь, чтобы я играл? ;
ПОЛЬЗОВАТЕЛЬ: Mosaique
// Mosaique - это радио название
АЛЕКСА: Привет, Мосайк, приятно познакомиться! на каком радио ты хочешь, чтобы я играл? ;
// ALEXA интерпретирует mosaique как имя вместо radioName и повторно вводит NameIntent. Я думал, что использование состояний было бы идеально для разрешения этой путаницы. и они ДОЛЖНЫ. Но это не так, и я не очень понимаю, почему. HELP

1 Ответ

0 голосов
/ 06 июля 2018

Jovo Routing работает следующим образом, если он находится в состоянии: (1) Посмотрите, найдено ли намерение в состоянии, если нет (2) посмотрите, определено ли в состоянии «Необработанный» , если нет (3) посмотрите, можно ли найти намерение за пределами состояния, если нет (4) посмотрите, определено ли «необработанное» вне состояния, если нет (5), выдайте ошибку.

В вашем случае «NameIntent» не может быть найден в состоянии, поэтому он переходит к глобальному (без сохранения состояния) «NameIntent». Чтобы оставаться в состоянии, вы можете добавить «необработанное» намерение, которое действует как «поймать все» для любого намерения, которое не может быть найдено там.

Загляните в этот раздел, чтобы узнать больше о состояниях и необработанных: https://www.jovo.tech/blog/p2s5-introduction-to-states/#unhandled-intent

...