ボットを 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 チャネルを構成するために必要な情報が生成されます。
- [アプリ] パネルに移動し、Slack アカウントにサインインします。
- [ 新しいアプリの作成] を選択するか、最初のアプリケーションの場合は [ アプリの作成 ] を選択します。
- [ アプリの作成 ] ページで、[ 最初から] を選択します。
- [ アプリの名前 & ] [ワークスペースの選択] ページの [ アプリ名] に、Slack アプリケーションの名前を入力します。
- [ アプリを開発するワークスペースを選択する] で、アプリのワークスペースを選択します。
- Slack API の利用規約を確認して同意します。
- [Create app](アプリの作成) を選択します。
新しいリダイレクト URL を追加する
アプリが作成されたら、リダイレクト URL をアプリに追加します。
- [OAuth Permissions]\(OAuth のアクセス許可\) を&選択します
- 結果のウィンドウの [ リダイレクト URL] で、[ 新しいリダイレクト URL の追加] を選択します。
- 入力ボックスに、次のいずれかのリダイレクト URL を入力し、[ 追加] を選択します。
- グローバル ボットの場合は、「」と入力します
https://slack.botframework.com
。 - リージョン ボットの場合は、「」と入力します
https://europe.slack.botframework.com
。
- グローバル ボットの場合は、「」と入力します
- [ URL の保存] を選択します。
ボット イベントをサブスクライブする
リダイレクト URL を追加したら、アプリをボット イベントにサブスクライブして、指定した URL で Slack にユーザー アクティビティをボットに通知させます。 ボットが Slack で使用する機能に基づいてイベントをサブスクライブします。
- [ イベント サブスクリプション] を選択します。
- 結果のウィンドウで、[ イベントの有効化] を[オン] に切り替えます。
- [ 要求 URL] に、次のいずれかの要求 URL を入力します。ここで
{bot-name}
、Azure Bot リソースの表示名を中かっこなしで入力します。- グローバル ボットの場合は、「」と入力します
https://slack.botframework.com/api/Events/{bot-name}
。 - リージョン ボットの場合は、「」と入力します
https://europe.slack.botframework.com/api/Events/{bot-name}
。
- グローバル ボットの場合は、「」と入力します
- [ ボット イベントのサブスクライブ] で、[ ボット ユーザー イベントの追加] を選択し、イベントをサブスクライブします。 次に例を示します。
member_joined_channel
member_left_channel
message.channels
message.groups
message.im
message.mpim
- [変更の保存] を選択します。
ユーザーによるボットへのメッセージの送信を有効にする
ボット イベントをサブスクライブしたら、ユーザーがボットにメッセージを送信できるようにします。
- [ アプリ ホーム] を選択します。
- 結果のウィンドウの [メッセージ] タブの [タブの表示] セクションで、[ユーザーがメッセージ] タブからスラッシュ コマンドとメッセージを送信できるようにする] を有効にします。
対話型メッセージを追加して構成する
必要に応じて、対話型メッセージを有効にします。
- [ 対話機能 & のショートカット] を選択します。
- 要求 URL の場合:
- グローバル ボットの場合は、「」と入力します
https://slack.botframework.com/api/Actions
。 - リージョン ボットの場合は、「」と入力します
https://europe.slack.botframework.com/Actions
。
- グローバル ボットの場合は、「」と入力します
- [変更の保存] を選択します。
アプリ情報をコピーする
Slack チャネルをボットに追加するには、次の情報が必要です。 アプリの資格情報を常にコピーして安全な場所に保存します。
- [ 基本情報] を選択します。
- 結果のウィンドウの [ アプリの資格情報] で、 クライアント ID、 クライアント シークレット、および 署名シークレットを見つけます。
- 次に、[OAuth Permissions]\(OAuth のアクセス許可\) &を選択します。
- 結果のウィンドウで、[スコープ] セクション を 見つけます。 アプリの ボット トークン スコープを 記録します。
Azure でボットを構成する
この手順を完了するには、前の手順の Slack アプリケーション資格情報が必要です。
Azure Portalを開きます。
ボットの [Azure Bot リソース] ブレードを開きます。
[チャネル] を開き、[Slack] を選択します。
[ Slack チャネルの構成] で、前の手順でコピーした情報を入力します。
- Slack で作成したアプリケーションに必要な Slack 資格情報を入力します。
- 必要に応じて、Slack ユーザーがボットを追加した後にリダイレクトされる ランディング ページ URL を 指定します。
- OAuth & アクセス許可リダイレクト URL とイベント サブスクリプション要求 URL の値は、Slack に入力した値と一致してリダイレクト URL を追加し、ボット イベントをサブスクライブする必要があります。
[適用] を選択します。
Slack アプリのインストールを完了するために Slack にリダイレクトされます。
- 要求されたアクセス許可が正しい場合は、[許可] を選択 します。
これで、ボットは Slack のユーザーと通信するように構成されました。 ワークスペース内のユーザーは、Slack アプリを使用してボットと対話できるようになりました。
Slack でアプリケーションをテストする
- アプリをインストールした Slack ワークスペースにサインインします。
- [ アプリ] で、アプリを選択します。
- 結果のウィンドウで、アプリケーションにメッセージを送信します。
追加情報
注意
2020 年 6 月の時点で Slack チャネルでは Slack V2 アクセス許可スコープがサポートされています。これにより、ボットは機能とアクセス許可をより細かく指定できます。 新しく構成されたすべての Slack チャネルでは、V2 スコープが使用されます。 ボットを V2 スコープに切り替えるには、[Azure portal チャネル] ブレードで Slack チャネル構成を削除して再作成します。
ボットの Slack サポートの詳細については、Slack API のドキュメントを参照してください。
Slack アダプターを使用してボットを Slack に接続する
ボットを Slack に接続するために Azure AI Bot Serviceで使用できるチャネルと同様に、Bot Builder コミュニティ リポジトリは Slack 用のカスタム チャネル アダプターを定義します。
- C# アダプターの詳細については、.NET コミュニティ リポジトリ の「Adapters」セクション を参照してください。
- JavaScript アダプターの詳細については、JavaScript コミュニティ リポジトリ の「アダプター」セクション を参照してください。