【问题标题】:Facebook messenger bot - Detect user typingFacebook Messenger bot - 检测用户输入
【发布时间】:2018-02-12 01:33:09
【问题描述】:

我有兴趣通过 DirectLine API (REST) 捕获用户在我的机器人中输入的事件。

Botframework documentation 说这是可能的:[...] typing 表示对话另一端的用户或机器人正在编译响应 [...]

This answer 表示 Facebook Messenger 不支持它(2017 年)。

也许某些渠道(Slack、Skype...)可能支持这一点,而其他渠道则不支持(Facebook)。

也许我只是没有在文档中找到合适的位置来使其工作,如果是这样,我可以点击任何链接吗?

任何 Azure / Facebook 的代表都可以提供有关路线图和 ETA 的见解吗?

提前感谢您的回答!!!

【问题讨论】:

    标签: botframework facebook-messenger-bot


    【解决方案1】:

    这似乎是 2018 年 2 月的限制。

    现已确认适用于 Facebook Messenger 和 Slack。

    我会将@oflahero 和我自己的经验 + 在这些线程上没有答案(MS 人员已标记它)作为“否”,这是不可能的:

    没有确认它是否在路线图/ETA 中。

    [编辑]:Botframework Github here 上的实时对话。

    【讨论】:

      【解决方案2】:

      目前,一旦用户点击发送/返回,BotFramework 的工作方式是发送整个消息(例如,如果使用 C#,则发送到 MessageController 的“Post”方法)。不幸的是,后台没有魔术 AJAX 向机器人发送单独的击键信息。

      但是,ActivityTypes 枚举中有一个名为“Typing”的值。如果您想争取时间,机器人通常使用此功能向用户发送“我正在输入”指示符。这就是您所指的文档所说的内容:

              var msg = context.MakeMessage();
              msg.Text = string.Empty;
              msg.Type = ActivityTypes.Typing;
              await context.PostAsync(msg);
      

      但是,对于向机器人键入的用户 - 问题是,您的频道是否支持向机器人发送 ActivityTypes.Typing 类型的活动?尝试查看 MessagesController 中的 HandleSystemMessage 方法并添加一些处理程序代码来找出答案。样板文件处理枚举值的选择,包括打字(但目前什么都不做):

              ....
              else if (message.Type == ActivityTypes.Typing)
              {
                  // Handle knowing that the user is typing
              }
      

      【讨论】:

      • 感谢@olflahero 的回答。我已经完成了与您的建议等效的操作,并且没有看到任何键入类型的请求。在文档中,我希望至少有一些渠道可以支持它,有人可以确认已经看到并处理了来自用户端的打字请求吗?如果是这样,你能分享你的经验吗?我发现了这个:garypretty.co.uk/2016/07/18/… 我在哪里看到 C#? sn-p 处理打字事件...这是过去有效的东西,现在不行吗?
      • Webchat 频道包含一种在您查看代码时将 Typing 从用户发送到机器人的方法。对于其他渠道,很难准确了解其功能
      • 是的,我可以确认 Facebook Messenger 不支持用户到机器人的打字活动(我目前正在将 Messenger 用于我自己的项目。)我的假设是机器人团队包括它在规范中是为了让兼容的频道在可能的情况下支持它。我想是面向未来的。
      猜你喜欢
      • 1970-01-01
      • 2016-09-20
      • 2016-11-17
      • 2017-03-10
      • 1970-01-01
      • 2017-05-26
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多