Jovo FrameWork: this.followUpState не выполняет свою работу так, как должно
У меня есть это намерение
'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. Я думал, что использование состояний было бы идеально для разрешения этой путаницы. и они ДОЛЖНЫ. Но это не так, и я не очень понимаю, почему. ПОМОГИТЕ?
1 ответ
Маршрутизация Jovo работает следующим образом, если она находится в состоянии: (1) Посмотрите, найдено ли намерение в состоянии, если нет (2) посмотрите, определено ли в состоянии "Необработанный", если нет (3) посмотрите, если намерение может быть найдено за пределами состояния, если нет (4), посмотрите, определено ли "необработанное" вне состояния, если нет (5), выдайте ошибку.
В вашем случае "NameIntent" не может быть найден в состоянии, поэтому он переходит к глобальному (без сохранения состояния) "NameIntent". Чтобы оставаться в состоянии, вы можете добавить "необработанное" намерение, которое действует как "поймать все" для любого намерения, которое не может быть найдено там.
Взгляните на этот раздел, чтобы узнать больше о состояниях и необработанных: https://www.jovo.tech/blog/p2s5-introduction-to-states/