你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将机器人连接到 Slack

适用于: SDK v4

可以对机器人进行配置,以便通过 Slack 应用与人通信。 本文介绍如何使用 Slack 创建 Slack 应用,将机器人连接到 Azure 中的 Slack 应用,以及如何在 Slack 中测试机器人。

本文介绍如何在 Azure 门户中向机器人添加 Slack 通道。 有关如何使用自定义通道适配器的信息,请参阅 其他信息

先决条件

  • Azure 订阅。 如果还没有此订阅,请在开始之前创建一个免费帐户
  • 发布到要连接到 Slack 的 Azure 的机器人。
  • 前往 https://api.slack.com/apps,使用适当的权限访问 Slack 工作区,以便创建/管理应用程序。 如果你无权访问 Slack 环境,你可以创建一个工作区

在 Slack 中创建应用

首先在 Slack 中创建一个应用程序,它生成在 Azure 中为机器人配置 Slack 通道所需的信息。

  1. 转到 应用面板并登录 Slack 帐户。
  2. 选择创建新应用,如果这是第一个应用程序,则选择创建应用
    1. 创建应用页上,选择从头开始
    2. “名称应用”和“选择工作区”页上,输入 Slack 应用程序的名称。
    3. 若要 选择要在其中开发应用的工作区,请选择应用的工作区。
    4. 查看并同意 API 使用情况服务条款。
    5. 选择创建应用.。

添加新的重定向 URL

创建应用后,向应用添加重定向 URL。

  1. 选择 OAuth 和权限

  2. 在生成的窗格中,在重定向 URL,选择添加新的重定向 URL

  3. 在输入框中,输入以下重定向 URL 之一,然后选择添加

    • 对于全局机器人,请输入 https://slack.botframework.com
    • 对于区域机器人,根据所选区域输入以下 URL:
    区域 重定向 URL
    欧洲 https://europe.slack.botframework.com
    印度 https://india.slack.botframework.com
  4. 选择保存URL

订阅机器人事件

添加重定向 URL 后,将应用订阅到机器人事件,让 Slack 在指定的 URL 上通知机器人用户活动。 根据机器人将在 Slack 中使用的功能订阅事件。

  1. 选择事件订阅

  2. 在生成的窗格中,将启用事件”切换为打开

  3. 对于请求 URL,请输入以下请求 URL 之一,其中 {bot-name} 是Azure 机器人资源的显示名称,没有大括号。

    • 对于全局机器人,请输入 https://slack.botframework.com/api/Events/{bot-name}
    • 对于区域机器人,根据所选区域输入以下 URL:
    区域 请求 URL
    欧洲 https://europe.slack.botframework.com/api/Events/{bot-name}
    印度 https://india.slack.botframework.com/api/Events/{bot-name}
  4. 订阅机器人事件下,选择添加机器人用户事件,然后订阅事件。 例如:

    • member_joined_channel
    • member_left_channel
    • message.channels
    • message.groups
    • message.im
    • message.mpim
  5. 选择保存更改

允许用户向机器人发送消息

订阅机器人事件后,允许用户向机器人发送消息。

  1. 选择应用主页
  2. 在生成的窗格中,在消息选项卡下的显示选项卡部分,启用允许用户从邮件选项卡中发送斜杠命令和邮件

添加和配置交互式消息

(可选)启用交互式消息。

  1. 选择 交互和快捷方式

  2. 对于 请求 URL

    • 对于全局机器人,请输入 https://slack.botframework.com/api/Actions
    • 对于区域机器人,根据所选区域输入以下 URL:
    区域 请求 URL
    欧洲 https://europe.slack.botframework.com/Actions
    印度 https://india.slack.botframework.com/Actions
  3. 选择保存更改

复制应用信息

需要以下信息才能将 Slack 通道添加到机器人。 始终将应用凭据复制并存储在安全的位置。

  1. 选择基本信息
  2. 在生成的窗格中,在应用凭据下,找到客户端 ID客户端密码签名密钥
  3. 现在,选择 OAuth 和权限
  4. 在生成的窗格中,找到作用域部分。 记录应用的机器人令牌范围

配置您的 Azure 机器人

若要完成此步骤,需要上一步中的 Slack 应用程序凭据。

  1. 打开 Azure 门户

  2. 打开 Azure 机器人的资源边栏选项卡。

  3. 打开频道并选择 Slack

  4. Slack 通道配置中,输入在前面的步骤中复制的信息。

    1. 输入在 Slack 中创建的应用程序所需的 Slack 凭据。
    2. (可选)提供 Slack 用户在添加机器人后将被重定向到的登陆页面 URL
    3. OAuth 和权限重定向 URL事件订阅请求 URL 值应与 Slack 中输入的值匹配,以添加重定向 URL订阅机器人事件

    submit credentials

  5. 选择“应用”。

  6. 你将被重定向到 Slack 以完成 Slack 应用安装。

    • 如果请求的权限看起来正确,请选择允许

机器人现在已配置为与 Slack 中的用户通信。 工作区中的用户现在可以通过 Slack 应用与机器人交互。

在 Slack 中测试应用程序

  1. 登录到安装了应用的 Slack 工作区。
  2. 应用下,选择你的应用。
  3. 在生成的窗格中,将消息发送到应用程序。

其他信息

注意

截至2020年6月,Slack 通道支持 Slack V2 权限范围,使机器人能够以更精细的方式指定其功能和权限。 所有新配置的 Slack 通道都将使用 V2 范围。 若要将机器人切换到 V2 范围,请在Azure 门户频道边栏选项卡中删除并重新创建 Slack 通道配置。

有关对机器人的 Slack 支持的详细信息,请参阅 Slack API 文档:

使用 Slack 适配器将机器人连接到 Slack

除了 Azure AI 机器人服务中提供的通道,用于将机器人与 Slack 连接,Bot Builder Community 存储库还定义了适用于 Slack 的自定义通道适配器。