Печатание активности предотвращает появление активности retryPrompt - PullRequest
0 голосов
/ 05 июня 2019

У меня есть простой бот для ответа на вопросы, основанный на шаблоне V4, у меня есть приглашение, запрашивающее пароль, если пароль неверный, он повторяет запрос, снова спрашивая.

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

В этот моментЯ не уверен, что делаю что-то не так или просто нажал на ошибку.

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

Подсказка аутентификации внутри диалогового окна:

var promptOptions = new PromptOptions
            {
                RetryPrompt = MessageFactory.Text("Incorrect password. Please try again."),
                Prompt = MessageFactory.Text("Please, enter the password")
            };

            return await stepContext.PromptAsync("LoginPrompt", promptOptions, cancellationToken);

Код действия при наборе:

public override async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken)
        {
            var activity = turnContext.Activity;

            Activity isTypingActivity = activity.CreateReply();
            isTypingActivity.Type = ActivityTypes.Typing;
            await turnContext.SendActivityAsync(isTypingActivity);

            await base.OnTurnAsync(turnContext, cancellationToken);

            // Save any state changes that might have occured during the turn.
            await _conversationState.SaveChangesAsync(turnContext, false, cancellationToken);
            await _userState.SaveChangesAsync(turnContext, false, cancellationToken);
        }

Ожидаемый результат:

Bot-> Пожалуйста, введитепароль
Пользователь-> Неверный пароль
Б-> Неверный пароль.Пожалуйста, попробуйте еще раз.
U-> CorrectPassword
B-> Welcome

Фактический результат:

B-> Пожалуйста, введите пароль
U-> WrongPassword
U->RandomPassword
U-> ¿Вы сломаны?
U-> CorrectPassword
B-> Welcome

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

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