Я пытаюсь переключить Intents без использования ElicitSlot. Причина в том, что мое следующее намерение не требует слотов или ввода данных пользователем.
В настоящее время я использую ElicitSlot. В намерении приветствия я установил слот Nums. В новостях я проверяю, существует ли слот 'Nums', и действую соответствующим образом. Однако это не работает, и все равно запрашивает Prompt для слота 'Nums'.
Текущие приветствия Intent: Выполнение
var sessionAttributes = intentRequest.sessionAttributes;
var slots = intentRequest.currentIntent.slots;
const num = slots.Num;
if(num == 1){
str = 'News';
intentRequest.currentIntent.name = 'News';
intentRequest.currentIntent.slots = {
Nums: 3
}
callback(close(sessionAttributes, str, intentRequest.currentIntent.slots, 'Nums'));
}
Current News Intent: лямбда-инициализация и проверка
if(!slots.Nums){
slots.Nums = intentRequest.inputTranscript;
callback(close(sessionAttributes, 'News', slots, 'Nums'));
}
if(slots.Nums){
callback(close(sessionAttributes, 'News', slots, 'Displaying News...'));
}
Пример успешного диалога:
Пользователь : Привет
Бот : Приветствие: (1) Новости (2) Вариант 2 (3) Вариант 3
Пользователь : 1
Бот : отображение новостей ...