Адаптивный диалог - как запустить повторную попытку на InputDialog с другого шага
Пакет SDK для BotFramework.NET, версия 4
Я понимаю, что логика повтора на InputDialog будет срабатывать при сбое правил проверки. Например. Пользователь вводит нечисловое значение в NumberInput или выражения проверки, определенные в диалоговом окне, не работают.
В моем сценарии (в адаптивных диалогах) ввод пользователя должен быть проверен на соответствие вызову внешнего API, и пользователь должен повторно ввести значение, если проверка не удалась. Вопрос в том, что такое собственный способ BotFramework .NET SDK для реализации диалога повторных попыток и выхода после превышения максимального количества повторных попыток с проверкой, выполняемой с помощью вызовов внешнего API?
Пока я пытаюсь реализовать это поведение с помощью шага 1. Диалог TextInput с MaxTurnCount = 2 и AlwaysPrompt = true и DefaultValueResponse Шаг 2. CodeAction, который устанавливает ключ для состояния разговора Шаг 3. IfCondition, проверяет состояние разговора и запускает GoToAction
В этой настройке DefaultValueResponse не отображается даже после выполнения 2 GoToAction.
Насколько я понимаю, GoToAction создает новый диалог и не использует повторно ранее созданный диалог. Таким образом, переменная turnCount, хранящаяся в InputDialog, сбрасывается каждый раз при создании нового диалога.