【问题标题】:How can my bot notice if a user closes the chat?如果用户关闭聊天,我的机器人如何注意到?
【发布时间】:2018-08-06 15:29:10
【问题描述】:

当用户关闭聊天窗口或以某种方式离开聊天时,如何通知我的机器人?我知道有一个 Activity.MembersRemoved 属性,但这仅适用于从团队中删除的成员,而不是来自 1 个机器人和 1 个用户之间的实际对话。

【问题讨论】:

  • 看起来有一个 endOfConversation 事件:docs.microsoft.com/en-us/azure/bot-service/dotnet/…
  • 该事件是一个必须被调用的事件,而不是在用户关闭聊天时自动触发的事件。我还注意到,当机器人尝试向已经关闭的对话发送消息时,它不会抛出异常。有没有办法“注意到”对方没有参与者?
  • 您的机器人使用什么渠道?
  • 我认为我主要使用网络聊天频道。
  • 对于网络聊天,使用一些 javascript 引发的反向通道事件

标签: c# botframework


【解决方案1】:

正如@Nicolas 所指出的,您可以使用反向通道机制来抛出activity.type === "event",JavaScript 会侦听(并且浏览器/网络聊天会忽略)以指示用户何时使用 Activity.MembersRemoved 离开对话。有关更多信息,您可以查看this doc about backchannel 和this backchannel bot sample。希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 2020-04-09
    • 2015-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多