对话基础知识

重要

本部分中的代码示例基于 Bot Framework SDK 版本 4.6 和更高版本。 如果要查找早期版本的文档,请参阅文档的旧版 SDK 文件夹中的 机器人 - v3 SDK 部分。

对话是在 Microsoft Teams 机器人与一个或多个用户之间发送的一系列消息。 下表提供了三种类型的对话,在 Teams 中也称为范围:

对话类型 说明
channel 此对话类型对频道的所有成员可见。
personal 此会话类型包括机器人与单个用户之间的对话。
groupChat 此对话类型包括机器人与两个或更多用户之间的聊天。 它还可在会议聊天中启用机器人。

机器人的行为方式不同,具体取决于它所涉及的对话:

  • 频道和群聊对话中的机器人要求用户 @mention 机器人来在频道中调用它。

  • 一对一对话中的机器人不要求 @mention。 用户发送的所有消息都路由到机器人。

机器人可以在团队中接收所有频道和聊天消息, @mentioned 而无需使用资源特定的同意 (RSC) 权限。 所有 聊天 消息的 RSC 仅在 Teams 公共开发人员预览版中可用。 有关详细信息,请参阅 使用 RSC 接收所有对话消息

若要使机器人在特定会话或范围内工作,请在 应用清单中添加对该范围的支持。

机器人对话中的每个消息都是 Activity 类型的 messageType: message对象。 当用户发送消息时,Teams 会将消息发布到机器人,机器人将处理该消息。 此外,若要定义机器人响应的核心命令,可以添加包含机器人命令下拉列表的命令菜单。 组或通道中的机器人仅在被提及 @botname时接收消息。 对于发生在机器人活动范围内的对话事件,Teams 会向机器人发送通知。 可以在代码中捕获这些事件并对其执行操作。

机器人还可以向用户发送主动消息。 主动消息是由机器人发送的、不响应用户请求的任何消息。 可以设置机器人消息的格式,使其包含包含交互式元素(如按钮、文本、图像、音频、视频等)的富卡。 机器人可以在发送消息后动态更新消息,而不是将消息作为数据的静态快照。 还可以使用 Bot Framework 的 DeleteActivity 方法删除消息。对机器人的传出请求在标头中显示会话 ID 和租户 ID。

通知机器人是一种聊天机器人,它以纯文本或自适应卡片的形式发送通知。 通知机器人模板创建一个应用,该应用使用 HTTP 发布请求触发的自适应卡片向 Teams 发送消息。

命令机器人是一种聊天机器人,可以响应使用自适应卡片在聊天中发送的简单命令。 可以在 Teams 中创建命令机器人模板,以便通过使用自适应卡片显示 UI 来响应聊天命令。

工作流机器人是一种聊天机器人,它与自适应卡片中的用户交互。 可以自定义机器人向用户发送自适应卡片的方式。

向聊天机器人添加 SSO 身份验证

可以使用以下步骤将单一登录身份验证添加到聊天机器人:

后续步骤

另请参阅