LoginSignup
13
8

More than 5 years have passed since last update.

Bot FrameworkをSlackで使ってみる

Posted at

MicrosoftのBot Frameworkが前から気になっていたので、触ってみました(•̀ᴗ•́)و

Bot Frameworkの詳細はこちらを見てください。
簡単にいうと、Botが作れるやつです(笑)
これで作ったやつはSlack, skype, Web, facebook Messengerでも利用できるようです(Slack以外は試していないので、実際できるか分からないですが...)

前半は導入方法で、後半はBotと簡単なやりとりについてを書こうと思います。
※後半は、後日書きます。今回は、導入部分までです。

導入方法

① プロジェクト作成

npm init

② パッケージのインストール

npm install --save botbuilder
npm install --save restify

③ はろーわーるどーを返すコード

はろーわーるどーーー(´・ω・`)をひたすら返します。

app.js
var restify = require('restify');
var builder = require('botbuilder');

var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
   console.log('%s listening to %s', server.name, server.url); 
});

var connector = new builder.ChatConnector({
    appId: process.env.MICROSOFT_APP_ID,
    appPassword: process.env.MICROSOFT_APP_PASSWORD
});
var bot = new builder.UniversalBot(connector);
server.post('/api/messages', connector.listen());

bot.dialog('/', function (session) {
    session.send("はろーわーるどーーー(´・ω・`)");
});

④ GitHubにpush

上記のプロジェクトをGitHubにpushします。

Azureの設定

Azure以外でもできると思うのですが、Microsoftつながりで、今回はAzureを使います( ´∀`)b

※Azureの登録方法とかはググってください。

5.1 Web App作成

新規 -> Web + モバイル -> Web Appを選びます。

スクリーンショット 2016-09-22 16.14.16.png

アプリ名などを入力して作成を押します。

スクリーンショット 2016-09-22 16.19.26.png

無事に作成されると、こんな感じになると思います。

スクリーンショット 2016-09-22 16.21.10.png

⑥ GitHubとAzureの連携

GitHubとAzureを連携させて、GitHubににpushされるとAzureに自動で反映されるように設定します。

6.1 デブロイオプション

デプロイオプション -> GitHubを選択します。

スクリーンショット 2016-09-22 16.32.01.png

さきほどpushしたリポジトリを選び、OKを押します。

スクリーンショット 2016-09-22 16.32.35.png

うまくいくと、こんな感じにチェックマークがつきます。

スクリーンショット 2016-09-22 16.33.58.png

⑦ Bot Framework登録

Bot Frameworkのサイトに行き、Register a botを選択します。

スクリーンショット 2016-09-22 16.52.47.png

で、いろいろ書くページが表示されるので、必須項目の所を埋めていきます。

7.1 Botの名前

ここでBotの名前とかを書きます。
Bot handle(BotのIDみたいなもの)後から変更できないので、注意してください。

スクリーンショット 2016-09-23 16.55.14.png

7.2 Microsoft App IDとendpoint

この辺は、重要です。

7.2.1 endpoint

ここのendpointに、先ほど作成したAzureのWeb Appのurlを入れます。

aaa.png

Web Appのurlは、概要にあります。これをコピーしてください。

スクリーンショット 2016-09-22 17.01.54.png

で、endpointのurlはhttpsです。
そして、urlの後ろに/api/messagesをつけます。

https:〇〇/api/messagesという形で、入力します。

ちなみに、/api/messagesは上のapp.js

server.post('/api/messages', connector.listen());

ここの部分のことです。

7.2.2 Microsoft App ID

次に Microsoft App IDの登録です。
Create Microsoft App ID and passwordを選択します。

aaa 2.png

あとは、画面に表示されるやつをポチポチすると、IDとパスワードが作成されます。
ここのIDとパスワードはメモしといてください。

スクリーンショット 2016-09-22 17.04.26.png

7.3 プロフィールの設定

privacyやtermsのurlは、開発段階なら適当なurlで大丈夫です。

スクリーンショット 2016-09-22 17.05.01.png

7.4 設定完了

必須項目も入力できたら、画面下にOKみたいなボタンがあるので、それを押します。
うまくいくと、こんなメッセージが表示されます。

スクリーンショット 2016-09-22 17.05.51.png

で、管理画面に、こんな感じにBotができているはずです。

スクリーンショット 2016-09-22 17.05.59.png

⑧ AzureにBot FrameworkのIDとパスワード登録

次に、 先ほどメモしたIDとパスワードをAzureに登録します。
アプリケーション設定アプリ設定に下の画像の感じに設定します。

guighui.png

最後に保存を押すのを忘れなく!

⑨ Slackに追加

先ほどのBotの管理画面にSlackの所があるのでAddを押します。

スクリーンショット 2016-09-22 21.50.42.png

こんな画面がでるので、画面に従って、設定していきます。

スクリーンショット 2016-09-22 21.50.55.png

9.1 slackアプリケーション作成

ここからアプリケーションを作成します。

9.2 Redirect URI

次に、Bot側の画面にあるCreate application and set redirect URIの所に表示されているurlを...

スクリーンショット 2016-09-22 21.57.20.png

SlackのOAuth & PermissionsRedirect URL(s)にいれます。

スクリーンショット 2016-09-22 21.57.09.png

9.3 Bot Users

次に、Bot UsersAdd a Bot Userを押してBotを追加します。

スクリーンショット 2016-09-22 22.00.07.png

9.4 Credentials

最後に、Bot側のSubmit your Credentials

afcasfas.png

SlackのclientIDとかをいれます。

スクリーンショット 2016-09-22 22.03.23.png

で、最後にBot側のI'm done configuring Slackをおして完了です( *• ̀ω•́ )b

確認

Slackで、BotがActiveになっていることと、チャンネルにBotがいることを確認します(•̀ᴗ•́)و
で、こんな感じにしゃべると、こんな感じに返してくれるはずです!!

スクリーンショット 2016-09-22 22.08.01.png

Botと簡単なやりとり

近日公開

13
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
8