当 Microsoft Bot 正在处理任何请求时显示 "TypingIndicator"

Show the "TypingIndicator" when the Microsoft Bot is processing any requests

我试图在聊天机器人(Microsoft Bot Framework)处理任何请求时显示“sendTypingIndicator”。 我添加了 sendTypingIndicator: truesendTyping: true 但它仍然没有显示任何动画,我在 Microsoft 文档中搜索但没有找到任何具体内容。 这是我拥有的:

window.WebChat.renderWebChat(
        {
          directLine: window.WebChat.createDirectLine({
            token: conversationInfo.token,
          }),
          store: store,
          styleOptions,
          sendTypingIndicator: true,
          sendTyping: true
        },
        document.getElementById("powerVAwebchat")
      );

有没有办法为所有请求自动添加打字动画,还是我必须为每个请求动态添加动画? 你能指导我找到解决方案吗?

谢谢

所以您需要的是在收到消息请求时从机器人发送输入 activity。

ShowTypingMiddleware 中间件可以做到这一点。

您只需像这样在适配器中添加它:

public class AdapterWithErrorHandler : BotFrameworkHttpAdapter
{
    public AdapterWithErrorHandler(
        IConfiguration configuration,
        ILogger<BotFrameworkHttpAdapter> logger,
        IStorage storage,
        UserState userState,
        ConversationState conversationState)
        : base(configuration, logger)
    {
        Use(new ShowTypingMiddleware());

        //...
    }

}

请注意,如果机器人回复“快速”,您将不会在聊天中看到输入指示器。你可以随时模拟它,例如,在机器人中添加一个await Task.Delay(5000)