最後に認証情報を設定する。インストラクションページの[Scroll back to 〜]テキストをクリックすると表示される指示に従って、Slack側のアプリ情報ページでClient IDとClient Secretの2つをコピーして、インストラクションページの[Submit your Client Id and 〜]というテキストの下にある[Client Id]と[Client Secret]にそれぞれペーストする。
[Submit Slack Credentials]ボタンをクリックすると、このアプリからSlack(の指定したチームへの)アクセスを認可/拒否するページが表示される。ボットを参加させるチャンネルを指定して[Authorize]ボタンをクリックする。これで認証情報の設定が完了する。
最後に[I'm done configuring Slack]ボタンをクリックすればページが閉じられて、設定が完了する([Enabling this bot on Slack]チェックボックスはオフの状態でも[Authorize]ボタンをクリックした後のページ遷移で自動的にオンにされていたので、基本的にこれはオンにしておいた方がよいだろう。有効化しなければ意味がなさそうなので、そういうものだろう)。また、アプリとユーザーボットを作成したユーザー宛にその旨がメールで通知される。
以上の設定が終わったら、Slackのチームを表示する。すると、作成したボットが表示されているはずだ。
ただし、実際にボットユーザーと対話をするにはSlackでユーザーを特定のチャンネルに招待する必要がある。これには「/invite @ボットユーザー」コマンドを実行する。
ボットを招待した後は「@ボットユーザー メッセージ」として、ボットユーザー宛てにメッセージを送信することで対話が始まる。最初にボットユーザーに「@」付きでメッセージを送信した後は、ボットが一連の対話をリッスンしてくれるので以降の対話では「@」付きでメッセージを送る必要はない。以下に対話しているところを示す。
どうだろう。Azureへのデプロイ、Bot Connectorへの登録、Slackへの接続設定を行うという手順を最初は面倒に感じるかもしれないが、Bot Frameworkを使うと、比較的容易に自分が作成したボットをさまざまな場所(本稿ではWebブラウザとSlackで同じボットを使用している)で利用できるのが分かったのではないだろうか。
今回はBot Builder SDKを使用してボットを作成し、Azureにデプロイ、Bot Connectorへ登録して、最後にSlackに接続するための流れを見てきた。実際にはBot Builder SDKにはBotkitと組み合わせて、Slack用のボットを作成するためのSlackBotクラスも用意されているが、今回はこれを使わずにBotConnectorBotクラスを利用している。興味のある方はSlackBotクラスについても調べてみてほしい。
ここまででボットを作成して、SNSやWebブラウザに接続するための大体の基礎は押さえられたと思う。次回は(次回があれば)デバッグなど、もう少し深い話に突っ込んでいく予定だ。
Copyright© Digital Advantage Corp. All Rights Reserved.