您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

按通道分类的活动

适用于: SDK v4APPLIES TO: SDK v4

以下各表显示了哪些事件(线路上的活动)可能会来自哪些通道。

这是表的关键:

符号 含义
机器人应当会收到此活动
机器人决不应当收到此活动
当前不确定机器人能否收到此活动

活动可以有意义地拆分为不同的类别。 对于每个类别,我们都提供了一个包含可能的活动的表。

聊天

\ Cortana Direct Line Direct Line(网上聊天) 电子邮件 Facebook GroupMe Kik 团队 Slack Skype Skype Business Telegram Twilio
消息
MessageReaction
  • 所有通道都会发送消息活动。
  • 当使用对话时,消息活动通常应当始终传递到对话。
  • 对于 MessageReaction,情况可能不是这样的,虽然它们在很大程度上是聊天的一部分。
  • 从逻辑方面来看,有两种类型的 MessageReaction:“已添加”和“已删除”

提示

“消息反应”是对以前的评论执行的操作,例如“点赞”。 它们可能不按顺序发生,因此可以认为它们类似于按钮。 此活动当前是通过“团队”通道发送的。

欢迎使用

\ Cortana Direct Line Direct Line(网上聊天) 电子邮件 Facebook GroupMe Kik 团队 Slack Skype Skype Business Telegram Twilio
ConversationUpdate
ContactRelationUpdate
  • 通道经常会发送 ConversationUpdate 活动。
  • 从逻辑方面来看,有两种类型的 MessageReaction:“已添加”和“已删除”
  • 如果可以通过绑定 ConversationUpdate.Added 来简单地实现机器人“欢迎”行为,这非常诱人,并且这有时候可行。
  • 但是,这是一个简化版,为了产生可靠的“欢迎”行为,机器人实现可能还需要使用状态。

应用程序扩展性

\ Cortana Direct Line Direct Line(网上聊天) 电子邮件 Facebook GroupMe Kik 团队 Slack Skype Skype Business Telegram Twilio
Event.*
Event.CreateConversation
Event.ContinueConversation
  • “事件活动”是 Direct Line(又称为“网上聊天” )中的一种扩展性机制。
  • 同时拥有客户端和服务器的应用程序可以选择借助使用此事件活动的服务来以隧道方式传输自己的事件。

Microsoft Teams

\ Cortana Direct Line Direct Line(网上聊天) 电子邮件 Facebook GroupMe Kik 团队 Slack Skype Skype Business Telegram Twilio
Invoke.TeamsVerification
Invoke.ComposeResponse
  • 除了许多其他类型的活动外,Microsoft Teams 还定义了一些特定于团队的“调用活动”。
  • “调用活动”特定于某个应用程序,而非特定于客户端将定义的事物。
  • 当前不存在调用特定子类型的活动的常规方法。
  • 调用当前是机器人上触发“请求-回复”行为的唯一活动。

这非常重要:如果使用对话,要想使 OAuth 提示起作用,必须将 Invoke.TeamsVerification 活动转发到对话。

消息更新

\ Cortana Direct Line Direct Line(网上聊天) 电子邮件 Facebook GroupMe Kik 团队 Slack Skype Skype Business Telegram Twilio
MessageUpdate
MessageDelete
  • 消息更新当前由“团队”提供支持。

OAuth

\ Cortana Direct Line Direct Line(网上聊天) 电子邮件 Facebook GroupMe Kik 团队 Slack Skype Skype Business Telegram Twilio
Event.TokenResponse

这非常重要:如果使用对话,要想使 OAuth 提示起作用,必须将 Event.TokenResponse 活动转发到对话。

未分类的

\ Cortana Direct Line Direct Line(网上聊天) 电子邮件 Facebook GroupMe Kik 团队 Slack Skype Skype Business Telegram Twilio
EndOfConversation
InstallationUpdate
Typing
Handoff

停止使用(包括特定于付款的调用)

  • DeleteUserData
  • Invoke.PaymentRequest
  • Invoke.Address
  • Ping

每个通道支持的活动的汇总

Cortana

  • 消息
  • ConversationUpdate
  • Event.TokenResponse
  • EndOfConversation(当窗口关闭时?)

Direct Line

  • 消息
  • ConversationUpdate
  • Event.TokenResponse
  • Event.*
  • Event.CreateConversation
  • Event.ContinueConversation

电子邮件

  • 消息

Facebook

  • 消息
  • Event.TokenResponse

GroupMe

  • 消息
  • ConversationUpdate
  • Event.TokenResponse

Kik

  • 消息
  • ConversationUpdate
  • Event.TokenResponse

团队

  • 消息
  • ConversationUpdate
  • MessageReaction
  • MessageUpdate
  • MessageDelete
  • Invoke.TeamsVerification
  • Invoke.ComposeResponse

Slack

  • 消息
  • ConversationUpdate
  • Event.TokenResponse

Skype

  • 消息
  • ContactRelationUpdate
  • Event.TokenResponse

Skype Business

  • 消息
  • ContactRelationUpdate
  • Event.TokenResponse

Telegram

  • 消息
  • ConversationUpdate
  • Event.TokenResponse

Twilio

  • 消息

发送到所有通道的所有活动的汇总表

\ Cortana Direct Line Direct Line(网上聊天) 电子邮件 Facebook GroupMe Kik 团队 Slack Skype Skype Business Telegram Twilio
消息
MessageReaction
ConversationUpdate
ContactRelationUpdate
Event.*
Event.CreateConversation
Event.ContinueConversation
Invoke.TeamsVerification
Invoke.ComposeResponse
MessageUpdate
MessageDelete
Event.TokenResponse
EndOfConversation
InstallationUpdate
Typing
Handoff

网上聊天

网上聊天将发送:

  • “消息”:带“文本”和/或“附件”
  • “事件”:带“名称”和“值”(以 JSON/字符串形式)
  • “键入中”:如果用户设置了名为“sendTypingIndicator”的选项,则网上聊天不会发送“contactRelationUpdate”。 并且网上聊天不支持“messageReaction”,没有人明确要求我们支持此功能。

默认情况下,网上聊天将呈现:

  • “消息”:将以轮盘式或堆叠式呈现,具体取决于活动中的选项
  • “键入中”:将呈现 5 秒后隐藏,或者一直呈现到下一个活动到来
  • “conversationUpdate”:将隐藏
  • “事件”:将隐藏
  • 其他:将显示一个警告框(我们从未在生产中看到过它)。你可以修改此呈现管道来添加、删除或替换任何自定义呈现。

你可以使用网上聊天来发送任何活动类型和有效负载,但我们未将此功能记入文档,也不推荐使用此功能。 你应当改用“事件”活动。

按通道列出的操作支持

下表显示了每个通道支持的建议操作和卡片操作的最大数量。 ❌ 指示在指定的通道中都不支持该操作。

\ Cortana Direct Line Direct Line(网上聊天) 电子邮件 Facebook GroupMe Kik 团队 Slack Skype Skype Business Telegram Twilio
建议的操作 100 100 10 20 13 10 100
卡操作 100 100 100 3 20 99 3 100 3

有关上表中显示的数字的详细信息,请参考此处列出的通道支持代码。

有关建议操作的详细信息,请参阅使用按钮进行输入一文 。

有关卡片操作的详细信息,请参阅《将媒体添加到消息》一文的发送主卡部分 。

通道支持的卡片

Channel 自适应卡片 动画卡片 音频卡片 主卡片 收据卡 登录卡 缩略图卡 视频卡片
Cortana
电子邮件 🔶 🌐 🌐 🌐
Facebook ⚠🔶
GroupMe 🔶 🌐 🌐 🌐 🌐 🌐 🌐 🌐
Kik 🔶 🌐 🌐
⚠🔶 🌐 🌐
Microsoft Teams
Skype
Slack 🔶 🌐 🌐 🌐 🌐
Telegram ⚠🔶 🌐
Twilio 🔶 🌐 🌐 🌐 🌐 🌐
网上聊天

注意: Direct Line 通道在技术上支持所有卡片,但该支持需要客户端来实现

  • ✔:受支持 - 完全支持使用卡,例外是,某些通道仅支持部分 CardActions,并且/或者可能限制每张卡上允许的操作数。 因通道而异。
  • ⚠设置用户帐户 :部分支持 - 如果卡包含输入和/或按钮,可能不显示卡。 因通道而异。
  • ❌设置用户帐户 :不支持
  • 🔶设置用户帐户 :将卡片转换为图像
  • 🌐:卡转换为无格式的文本 - 链接可能无法单击、图像可能无法显示,并且/或者媒体可能无法播放。 因通道而异。

这些类别这么广泛是有意设置的,并不能完全说明每个通道支持每个卡功能的情况,因为卡、功能和通道有许多可能的组合。 请使用此表作为基准参考,但要在所需的通道中测试每个卡。