ボットを Slack に接続する

適用対象: SDK v4

Slack アプリを介してユーザーと通信するようにボットを構成できます。 この記事では、Slack を使用して Slack アプリを作成し、ボットを Azure の Slack アプリに接続し、Slack でボットをテストする方法について説明します。

この記事では、Azure portalでボットに Slack チャネルを追加する方法について説明します。 カスタム チャネル アダプターの使用方法については、 追加情報を参照してください。

前提条件

  • Azure サブスクリプション。 まだお持ちでない場合は、開始する前に無料アカウントを作成してください。
  • Slack に接続する Azure に発行されたボット。
  • でアプリケーションを作成および管理するための十分なアクセス許可を https://api.slack.com/apps持つ Slack ワークスペースへのアクセス。 Slack 環境にアクセスできない場合は、 ワークスペースを作成できます。

Slack でアプリを作成する

最初に Slack でアプリケーションを作成します。このアプリケーションは、Azure でボットの Slack チャネルを構成するために必要な情報を生成します。

  1. [アプリ] パネルに移動し、Slack アカウントにサインインします。
  2. 初めてのアプリケーションの場合は、[新しいアプリの作成] または [アプリの作成] を選択します。
    1. [ アプリの作成 ] ページで、[ 最初から] を選択します。
    2. [ アプリの名前] & の [ワークスペースの選択 ] ページで、[ アプリ名] に Slack アプリケーションの名前を入力します。
    3. [ アプリを開発するワークスペースを選択する] で、アプリのワークスペースを選択します。
    4. Slack API のサービス利用規約を確認して同意します。
    5. [Create app](アプリの作成) を選択します。

新しいリダイレクト URL を追加する

アプリが作成されたら、アプリにリダイレクト URL を追加します。

  1. [ OAuth アクセス許可] を & 選択します
  2. 結果のウィンドウの [ リダイレクト URL] で、[ 新しいリダイレクト URL の追加] を選択します。
  3. 入力ボックスに、次のいずれかのリダイレクト URL を入力し、[ 追加] を選択します。
    • グローバル ボットの場合は、「.」と入力します https://slack.botframework.com
    • リージョン ボットの場合は、「.」と入力します https://europe.slack.botframework.com
  4. [ URL の保存] を選択します

ボット イベントをサブスクライブする

リダイレクト URL を追加したら、アプリをボット イベントにサブスクライブして、指定した URL で Slack にユーザー アクティビティをボットに通知させます。 ボットが Slack で使用する機能に基づいてイベントをサブスクライブします。

  1. [イベント サブスクリプション] を選択します
  2. 結果のウィンドウで、[ イベントの有効化][オン] に切り替えます。
  3. [要求 URL] には、次のいずれかの要求 URL を入力します。ここで{bot-name}、Azure Bot リソースの表示名を中かっこなしで入力します。
    • グローバル ボットの場合は、「.」と入力します https://slack.botframework.com/api/Events/{bot-name}
    • リージョン ボットの場合は、「.」と入力します https://europe.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
    • リージョン ボットの場合は、「.」と入力します https://europe.slack.botframework.com/Actions
  3. [変更の保存] を選択します。

アプリ情報をコピーする

Slack チャネルをボットに追加するには、次の情報が必要です。 アプリの資格情報は常にコピーして安全な場所に保存します。

  1. [ 基本情報] を選択します。
  2. 結果のウィンドウの [ アプリの資格情報] で、 クライアント IDクライアント シークレット、および 署名シークレットを見つけます。
  3. 次に、[ OAuth & アクセス許可] を選択します。
  4. 結果のウィンドウで、[スコープ] セクション 見つけます。 アプリの ボット トークン スコープを 記録します。

Azure でボットを構成する

この手順を完了するには、前の手順の Slack アプリケーション資格情報が必要です。

  1. Azure Portalを開きます。

  2. ボットの Azure Bot リソース ブレードを開きます。

  3. チャネルを開き、[Slack] を選択します。

  4. Slack チャネル構成で、前の手順でコピーした情報を入力します。

    1. Slack で作成したアプリケーションに必要な Slack 資格情報を入力します。
    2. 必要に応じて、Slack ユーザーがボットを追加した後にリダイレクトされる ランディング ページ URL を 指定します。
    3. OAuth & アクセス許可リダイレクト URLイベント サブスクリプション要求 URL の値は、Slack で入力した値と一致してリダイレクト URL を追加し、ボット イベントをサブスクライブする必要があります。

    資格情報を送信する

  5. [適用] を選択します。

  6. Slack アプリのインストールを完了するために Slack にリダイレクトされます。

    • 要求されたアクセス許可が正しい場合は、[許可] を選択 します

これで、Slack でユーザーと通信するようにボットが構成されました。 ワークスペース内のユーザーは、Slack アプリを使用してボットと対話できるようになりました。

Slack でアプリケーションをテストする

  1. アプリをインストールした Slack ワークスペースにサインインします。
  2. [ アプリ] で、アプリを選択します。
  3. 結果のウィンドウで、アプリケーションにメッセージを送信します。

関連情報

注意

2020 年 6 月の時点で Slack チャネルでは Slack V2 アクセス許可スコープがサポートされています。これにより、ボットはその機能とアクセス許可をより細かく指定できます。 新しく構成されたすべての Slack チャネルでは、V2 スコープが使用されます。 ボットを V2 スコープに切り替えるには、[Azure portal チャネル] ブレードで Slack チャネル構成を削除して再作成します。

ボットの Slack サポートの詳細については、Slack API のドキュメントを参照してください。

Slack アダプターを使用してボットを Slack に接続する

ボットを Slack に接続するために Azure Bot Service で使用できるチャネルと同様に、Bot Builder Community リポジトリでは、Slack 用のカスタム チャネル アダプターを定義します。