将机器人添加到 Microsoft Teams 应用
重要
本文基于 v3 Bot Framework SDK。
构建和连接智能机器人,通过聊天自然地与 Microsoft Teams 用户互动。 或者提供一个基于命令的简单机器人,用作更广泛的 Teams 应用体验的“命令行”界面。 可以创建仅限通知的机器人,此机器人可以在频道或直接消息中将与用户相关的信息直接推送到他们。 甚至可以引入现有的基于 Bot Framework 的机器人,并添加 Teams 特定的支持,让你的体验更加出色。
重要
机器人在 政府社区云 (GCC) 、GCC-High 和国防部 (DOD) 环境中提供。
需要了解的内容:机器人
机器人与你在对话中交互的任何其他团队成员一样出现,只不过它具有六边形头像图标,并且始终处于联机状态。
机器人的行为方式不同,具体取决于它所参与的对话类型。 Teams 中的机器人支持在应用清单中称为作用域的几种对话。
-
teams
也称为频道对话。 -
personal
机器人与单个用户之间的对话。 -
groupChat
机器人与两个或更多用户之间的对话。
有关详细信息,请参阅 与 Microsoft Teams 机器人进行对话。
使用 Teams 应用,你可以使机器人成为体验star,或者只是一个帮助程序。 机器人作为更广泛的应用包的一部分发布,其中包含 选项卡 或 消息扩展等其他功能。
机器人 API
Teams 支持大多数Microsoft Bot Framework。 (如果已有一个基于 Bot Framework 的机器人,则可以轻松地对其进行调整以在 Teams 中工作。) 建议使用 C# 或 Node.js 来利用我们的 SDK。 这些工具包拓展了基本机器人生成器 SDK 的类和方法:
- 使用专用卡类型(如连接器卡)Microsoft 365 组。
- 在活动上使用和设置 Teams 特定的频道数据。
- 处理消息扩展请求。
SDK 扩展安装依赖项,包括 Bot Builder SDK。
- .NET 如果要使用适用于 Bot Builder SDK for .NET 的 Microsoft Teams 扩展,请在 Visual Studio 项目中安装 Microsoft.Bot.Connector.Teams NuGet 包。 对于 Node.js 开发,自 v4.6 起,BotBuilder for Microsoft Teams 功能已合并到 Bot Framework SDK 中。
重要
可以在任何其他 Web 编程技术中开发 Teams 应用,并直接调用 Bot Framework REST API ,但必须自行执行所有令牌处理。
Teams 开发人员门户 可帮助你创建和配置应用清单,并且可以为你创建 Bot Framework 机器人。 它还包含 React 控件库和交互式卡片生成器。
传出 webhook
通过传出 Webhook,可以创建用于基本交互的简单机器人,例如启动工作流或可能需要的其他简单命令。 传出 Webhook 仅存在于创建它们的团队中,适用于特定于公司工作流的简单流程。 有关详细信息,请参阅传出的 Webhook。
生成优秀的 Teams 机器人
以下文章将指导你完成创建适用于 Teams 的优秀机器人的过程:
- 创建机器人:利用 Bot Framework 团队提供的出色工具、文档和社区。
- 与机器人对话:添加基本聊天流并利用特定于频道的功能。 如果在 .NET 或 Node.js 中进行开发,请使用适用于 Bot Builder SDK 的扩展来简化工作。
- 在机器人中使用卡片:设计用于通信和接受用户响应的卡片。
- 响应机器人事件
- 仅通知机器人:使用机器人为应用发送通知。
- 获取上下文:获取有关用户的信息。
- 机器人菜单:在机器人中使用菜单。
- 机器人和文件:从机器人发送和接收文件。
- 将选项卡与机器人配合使用:使选项卡和机器人协同工作。
- 测试机器人:添加机器人以进行个人或团队对话,以查看运行情况。
机器人 SDK V3
重要
本文基于 v3 Bot Framework SDK。
Teams 开发人员门户是 一种可帮助生成机器人的工具,也是引用机器人的应用包。 它还包含 React 控件库和卡的可配置示例。 有关详细信息,请参阅 Teams 开发人员门户入门。 以下步骤假定你正在手动配置机器人,而不是使用 Teams 开发人员门户:
使用 Bot Framework 创建机器人。 创建自动程序后,请确保从特色频道列表中将 Microsoft Teams 添加为频道。 如果已创建应用包/清单,请随意重复使用生成的任何Microsoft应用 ID。
注意
如果不希望在 Azure 中创建机器人, 则必须 使用此链接创建新的机器人: Bot Framework。 如果改为在 Bot Framework 门户中单击“ 创建机器人 ”,则会 改为在 Azure Microsoft 创建机器人 。
使用 Microsoft.Bot.Connector.Teams NuGet 包、 Bot Framework SDK 或 Bot Connector API 生成机器人。
使用 Bot Framework Emulator 测试机器人。
将机器人部署到云服务,例如 Microsoft Azure。 或者,在本地运行应用并使用隧道服务(如 ngrok) 为机器人公开 https:// 终结点,例如
https://45az0eb1.ngrok-free.app/api/messages
。
注意
机器人和Microsoft Azure
自 2017 年 12 月起,Bot Framework 门户已针对在 Azure Microsoft 注册机器人进行优化。 以下是几个注意事项:
- 在 Azure 中注册的自动程序的 Microsoft Teams 频道是免费的。 通过 Teams 通道发送的消息不会计入机器人使用的消息。
- 虽然可以在不使用 Azure 的情况下 创建新的 Bot Framework 机器人 ,但必须使用 创建新的 Bot Framework 机器人,该机器人不再在 Bot Framework 门户中公开。
- 在 Bot Framework 中的机器人列表中编辑现有机器人的属性时,例如其“消息传递终结点”,这在首次开发机器人时很常见,尤其是在使用 ngrok 时,会看到“迁移状态”列和蓝色的“迁移”按钮,该按钮会将你带到Microsoft Azure 门户。 请勿单击“迁移”按钮,除非这是你想要执行的操作;相反,单击机器人的名称,可以编辑其属性:
- 如果使用 Microsoft Azure 注册机器人,则无需在 Azure Microsoft 托管 机器人代码。
- 如果使用 Azure 门户 注册机器人,则必须具有Microsoft Azure 帐户。 你可以免费创建一个。 若要在创建身份时验证身份,必须提供信用卡,但不会收取费用;始终可以免费创建机器人并将其与 Teams 配合使用。
- 现在,可以使用 Teams 开发人员门户直接在 Teams 中注册/更新应用和机器人信息。 只需使用Azure 门户添加或配置其他 Bot Framework 通道,例如 Direct Line、Web 聊天、Skype 和 Facebook Messenger。