Bot Framework v4: индикатор отправки ввода

Выполняет более тщательную проверку, например, он проверяет последовательные точки в имени пользователя, например john..doe @ example.com

function isValidEmail(email)
{
    return /^[a-z0-9]+([-._][a-z0-9]+)*@([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,4}$/.test(email)
        && /^(?=.{1,64}@.{4,64}$)(?=.{6,100}$).*/.test(email);
}

См. подтверждение адреса электронной почты с использованием регулярного выражения в JavaScript .

1
задан user10860402 18 January 2019 в 03:05
поделиться

1 ответ

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

Чтобы проверить это, просто вернитесь к отправке одной операции ввода, а затем эмулируйте время, которое потребуется для выполнения работы, поместив await Task.Delay(3000); на место для эмуляции небольшой паузы. Это должно дать клиенту время, чтобы показать индикатор ввода до того, как задержка закончится, и ваше сообщение будет отправлено.

ОБНОВЛЕНИЕ

Да, ожидать Task::Delay хорошо, если вы хотите ввести в свои ответы какую-то естественную паузу. Шаблон, который мы видели, состоит в том, чтобы сделать это с помощью промежуточного программного обеспечения, которое использует алгоритм, основанный на количестве символов, для синтеза задержки.

ОБНОВЛЕНИЕ2

Я не знаю, как я об этом забыл, но на самом деле в коробке поставляется промежуточное ПО, называемое ShowTypingMiddleware , которая включает в себя такую ​​функциональность, основанную на том, сколько времени занимает ход, прежде чем будут отправлены ответные действия. Я думал, что это было только отправлено как пример где-то, но я только столкнулся с этим сегодня утром и хотел удостовериться, что обновил этот ответ. Это не совсем то, что я описал выше, но это может быть поведение, которое ищут некоторые люди.

0
ответ дан Drew Marsh 18 January 2019 в 03:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: