Botframework &引用;键入…“;显示不';t在bot框架中消失+;移动即时通

Botframework &引用;键入…“;显示不';t在bot框架中消失+;移动即时通,botframework,facebook-messenger,Botframework,Facebook Messenger,我正在使用下面的代码向用户发送一个“键入…”指示器,而我的机器人正在进行一些处理。在反序列化和启动任何对话框之前,这是在任何消息上首先发送的 问题是,根据facebook的说法,即使在6秒钟后,该指标也不会消失 所以在机器人发送消息后,输入。。。指标仍然永远存在 这只发生在FB Messenger上,而不发生在电报或模拟器等其他通道上 if (activity.Type == ActivityTypes.Message) { Activity typing = a

我正在使用下面的代码向用户发送一个“键入…”指示器,而我的机器人正在进行一些处理。在反序列化和启动任何对话框之前,这是在任何消息上首先发送的

问题是,根据facebook的说法,即使在6秒钟后,该指标也不会消失

所以在机器人发送消息后,输入。。。指标仍然永远存在

这只发生在FB Messenger上,而不发生在电报或模拟器等其他通道上

    if (activity.Type == ActivityTypes.Message)
    {
        Activity typing = activity.CreateReply(null);
        typing.ServiceUrl = activity.ServiceUrl; //bug in ms bot framework? otherwise service URL is null
        typing.Type = ActivityTypes.Typing;
        ConnectorClient connector = new ConnectorClient(new Uri(typing.ServiceUrl));
        await connector.Conversations.SendToConversationAsync(typing);

        //do the actual bot's work here

根据Facebook,他们输入信息的实际超时时间为20秒:

此外,当bot响应实际消息时,键入指示器将被删除


我用我的测试机器人验证了这个行为。Bot framework不发送“end typing”(结束键入)消息,只发送begin typing(开始键入)消息。

进一步测试后,我发现我的问题只出现在Android Messenger应用程序(最新版本)中。同样的机器人在iPhone和Windows Phone以及桌面应用程序和web版本上也可以正常工作。所以我想问题是在Facebook这边。谢谢你的检查。