为 Teams 生成机器人

机器人也称为聊天机器人或对话机器人。 它是一个应用,可由客户服务或支持人员等用户运行简单且重复的任务。 机器人的日常使用包括提供天气信息、预订餐食或提供旅行信息。 与机器人的交互可以是快速问答或复杂的对话。

建议首先 使用 JavaScript 生成第一个机器人应用 ,或使用适用于 Teams 的新一代开发工具 使用 JavaScript 生成通知机器人 。 有关详细信息,请参阅 Teams 工具包概述

重要

  • 机器人在 政府社区云 (GCC) 、GCC-High 和国防部 (DOD) 环境中提供。 Microsoft Teams for GCC-High 和 DOD 中的机器人应用程序可通过 Azure 机器人服务获取,机器人通道注册必须在 Azure 政府 门户中完成。

  • GCC-High 和 DOD 环境中不支持自适应卡中的图像 URL。 可以将图像 URL 替换为 Base64 编码的 DataUri。

  • 当用户在机器人中更改 Teams 主题时,该主题不适用于使用自适应卡片共享的内容。

聊天机器人允许用户使用文本、交互式卡片和对话与 Web 服务进行交互, (TeamsJS v1.x) 中称为任务模块。

屏幕截图是一个示例,其中显示了使用文本的 Web 服务。

屏幕截图是一个示例,其中显示了使用交互式卡片的 Web 服务。

屏幕截图是一个示例,其中显示了使用对话框的 Web 服务。

对话机器人非常灵活。 机器人可以处理涉及人工智能和自然语言处理的一些基本命令或复杂任务。 机器人可以是较大应用程序的一部分,也可以是独立的。

使用正确的卡片、文本和对话框组合来创建有用的机器人。 下图显示了用户在使用文本和交互式卡片的一对一聊天中与机器人交谈。

屏幕截图是一个示例,显示了示例常见问题解答机器人。

用户与机器人之间的每次交互都表示为活动。 机器人收到活动时,会将其传递给其活动处理程序。 参阅机器人活动处理程序

机器人是具有对话界面的应用。 可以使用文本、交互式卡片和语音与机器人交互。 机器人在频道或群组聊天对话和一对一对话中的行为不同。 会话通过 Bot Framework 连接器进行处理。 请参阅对话基础知识

机器人需要上下文信息(例如用户配置文件详细信息)来访问相关内容并增强机器人体验。 请参阅获取 Teams 上下文

可以使用 Graph API 或 Teams 机器人 API 通过机器人发送和接收文件。 请参阅通过机器人发送和接收文件

速率限制用于优化用于 Teams 应用程序的机器人。 为了保护 Teams 及其用户,机器人 API 为传入请求提供速率限制。 请参阅通过团队中的速率限制来优化你的智能机器人

通过 Microsoft Graph 用于通话和联机会议的 API,Teams 应用现在可以使用语音和视频与用户进行交互。 请参阅通话和会议机器人

可以使用 Teams 机器人 API 获取聊天或团队成员的信息。 请参阅Teams 机器人 API 在提取团队或聊天成员方面的更改

机器人名称和图标

机器人名称:可以通过在以下情况下更新机器人名称来更改 Teams 环境中显示的机器人名称:

  • 机器人名称(在聊天窗口中显示为游戏)在应用清单中更新和管理, (以前称为 Teams 应用清单) 。

  • 显示在 Teams 聊天列表和聊天窗口中以及每条消息的机器人名称在 Microsoft Azure 门户 进行管理。 对于自定义上传的应用,可以在Azure 门户的“机器人配置文件”页中更新机器人名称。

    屏幕截图显示 Teams 窗口中显示的机器人名称。

机器人图标:可以添加或更新 Teams 应用的机器人图标,如下所示。 只有在用户注销并重新登录到 Teams 后,更新的机器人图标才会可见。 这是因为图标已缓存:

  • Microsoft Teams 应用商店应用:对于 Teams 应用商店应用,从应用清单中提取机器人图标。 可以通过应用清单更新机器人配置文件图标并重新发布应用来更新它。

    
    {
      "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.16/MicrosoftTeams.schema.json",
      "manifestVersion": "1.17",
      "version": "1.0.0",
      "id": "%MICROSOFT-APP-ID%",
      "icons": {
         "outline": "A relative path to a transparent .png icon — 32px X 32px", // This icon is used for bot profile.
         "color": "A relative path to a full color .png icon — 192px X 192px"
      },
      "bots": [
      {
        "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
        "scopes": [
          "team",
          "personal",
          "groupChat"
        ]
      }
      ]
    ...
    }
    
    
  • 在 Teams 中上传自定义应用为组织生成的自定义应用, (LOB 应用)

(开发人员预览版) 指定主机运行时要求

若要确保应用始终为客户提供高质量的体验,可以在适用的 Microsoft 365 主机中定制应用的行为,或者在尚未准备好支持的上下文中省略应用行为。 使用应用清单指定应用功能之间的任何 依赖项关系 ,以及静态选项卡、消息扩展和机器人的特定 运行时要求

有关详细信息,请参阅 如何在应用清单中指定 Microsoft 365 主机运行时要求

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

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

机器人配置体验

机器人配置体验有助于启用机器人设置,让用户在安装过程中配置其机器人,并从安装机器人的频道或群聊范围重新配置机器人。 机器人配置是 Teams 平台内应用的一项重要功能,为机器人的运营效率奠定了基础。 有关详细信息,请参阅 机器人配置体验

代码示例

示例名称 Description .NET Node.js 清单
机器人每日任务提醒 此示例演示如何使用机器人计划定期任务并在计划的时间获取提醒。 View View View
Hello世界机器人 这是一个具有机器人和消息扩展功能的简单你好世界应用程序。 不适用 View
自适应卡片通知 这是一个示例,演示如何使用机器人发送具有不同自适应卡片的通知。 不适用 View
传入 Webhook 通知 这是一个示例,演示如何在 Microsoft Teams 频道中使用传入 Webhook 发送通知。 不适用 View

后续步骤

另请参阅