Как я могу увеличить время отображения анимации набора текста в веб-чате? - PullRequest
0 голосов
/ 10 октября 2019

Когда мой бот имеет несколько строк, чтобы сказать между текстами, я хочу отобразить индикатор набора текста. Я использую ActivityTypes.Typing, но в веб-чате (и эмуляторе) исчезает так быстро, что я даже не вижу его. В командах остается немного дольше, но не намного. Есть ли способ установить время, в течение которого анимация должна появляться, или, по крайней мере, способ продлить ее? В моем коде я отправляю это как отдельное действие как это:

async getEmployeeTitle(step) {
    await step.context.sendActivity('OK, first I will need some additional information about the employee.');
    await step.context.sendActivity({ type: ActivityTypes.Typing });
    return await step.prompt(TEXT_PROMPT, `What is the employee's **Job Title**?`);
}

1 Ответ

3 голосов
/ 11 октября 2019

В Web Chat v4.5 нет возможности установить длительность индикатора набора текста;однако в версии 4.6, которая должна быть выпущена ближе к концу месяца, вы можете установить продолжительность индикатора набора в параметрах стиля веб-чата.

веб-чат v4

const styleOptions = {
  typingAnimationDuration: 5000
};

window.WebChat.renderWebChat(
  {
     directLine: window.WebChat.createDirectLine({ token }),
     styleOptions
  },
  document.getElementById('webchat')
);

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

BotFramework SDK v4 (Узел)

async getEmployeeTitle(step) {
    await step.context.sendActivity('OK, first I will need some additional information about the employee.');
    await step.context.sendActivity({ type: ActivityTypes.Typing });
    await context.sendActivity({ type: 'delay', value: 3000 });  // Delay 3000 milliseconds
    return await step.prompt(TEXT_PROMPT, `What is the employee's **Job Title**?`);
}

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

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