Почему подсказка повторяется только один раз? - PullRequest
1 голос
/ 24 сентября 2019

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

Я просмотрел исходный код github для конструктора ботов и, похоже,что сообщение действительно отправляется, но не отображается в эмуляторе Bot Framework.

Фрагмент из примера MultiTurnPromptBot:

var promptOptions = new PromptOptions
                {
                    Prompt = MessageFactory.Text("Please enter your age."),
                    RetryPrompt = MessageFactory.Text("The value entered must be greater than 0 and less than 150."),
                };

                return await stepContext.PromptAsync(nameof(NumberPrompt<int>), promptOptions, cancellationToken);

Я ожидал бы получить RetryPrompt при каждом сбое моего сообщенияпроверка. Как вы можете видеть здесь сообщение "Введенное значение должно быть больше 0 и меньше 150" отображается только один раз. Но в журнале фактически отображаются оба сообщения.

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

Кто-нибудь знает, происходит ли это и на других каналах и / или это ошибка / функция?

1 Ответ

0 голосов
/ 25 сентября 2019

Это похоже на ошибку в эмуляторе.Если вы посмотрите на панель журнала на своих скриншотах, активность, содержащая сообщение о недопустимом значении, отправляется в эмулятор, и вы можете проверить его в обычном режиме, но он не отображается в элементе управления чатом.Протестировано на последней и предыдущих версиях Эмулятора (работает на более низкой версии, ошибка, похоже, в последней версии).

В приложении - ссылка на поданную ошибкуна репозитории BotFramework-Emulator.

Надеюсь, это поможет !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...