Azure 显示“;“输入指示器”;当Microsoft Bot处理任何请求时

Azure 显示“;“输入指示器”;当Microsoft Bot处理任何请求时,azure,botframework,chatbot,web-chat,Azure,Botframework,Chatbot,Web Chat,我试图在聊天机器人(Microsoft Bot Framework)处理任何请求时显示“SendTypengIndicator”。 我添加了sendTypingIndicator:true和sendTyping:true,但它仍然没有显示任何动画,我在Microsoft文档中搜索了它,但没有找到任何特定的动画。 这就是我所拥有的: window.WebChat.renderWebChat( { directLine: window.WebChat.create

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

window.WebChat.renderWebChat(
        {
          directLine: window.WebChat.createDirectLine({
            token: conversationInfo.token,
          }),
          store: store,
          styleOptions,
          sendTypingIndicator: true,
          sendTyping: true
        },
        document.getElementById("powerVAwebchat")
      );
是否有一种方法可以自动为所有请求添加键入动画,还是必须为每个请求动态添加动画? 你能给我一个解决办法吗


谢谢

因此,您需要的是当bot收到消息请求时,从bot发送一个输入活动

有一种
ShowTypingMiddleware
中间件就是这样做的

您只需将其添加到适配器中,如下所示:

带有错误处理程序的公共类适配器:BotFrameworkHttpAdapter
{
带有错误处理程序的公共适配器(
i配置配置,
ILogger记录器,
历史存储,
用户状态用户状态,
会话状态(会话状态)
:基本(配置、记录器)
{
使用(新的ShowTypingMiddleware());
//...
}
}

请注意,如果bot回复“fast”,您将不会在聊天室中看到输入指示。您可以随时模拟它,例如,在bot中添加一个
wait Task.Delay(5000)

我猜您希望在将消息从网络聊天发送到bot后立即在网络聊天中查看键入指示,对吗?是的,没错。对不起,如果我不够清楚,那么你需要的是另一种方式,你必须从机器人发送打字指示器。配置正在将键入指示器发送到bot。因此,我现在将发布一个答案。我是否理解,这将在响应延迟时从bot发送键入指示器?每当我期待对话框延迟时,我都会手动发送一个输入指示器。有一些事情可以自动完成,这将是伟大的!是的,没错,您可以在中间件构造函数中配置延迟和重复失效。使用默认值,如果回复时间超过500毫秒,它将发送键入指示器,然后每2秒重复一次。然后你可以删除其他地方所有的输入指示器,我觉得这个行为有点问题。在等待用户响应提示时,我看到了输入指示器。你也有过同样的经历吗?对我来说,看到机器人在等待我回答提示时“打字”让我有点不安。不