MicrosoftのBot Frameworkが前から気になっていたので、触ってみました(•̀ᴗ•́)و
Bot Frameworkの詳細はこちらを見てください。
簡単にいうと、Botが作れるやつです(笑)
これで作ったやつはSlack, skype, Web, facebook Messengerでも利用できるようです(Slack以外は試していないので、実際できるか分からないですが...)
前半は導入方法で、後半はBotと簡単なやりとりについてを書こうと思います。
※後半は、後日書きます。今回は、導入部分までです。
導入方法
① プロジェクト作成
npm init
② パッケージのインストール
npm install --save botbuilder
npm install --save restify
③ はろーわーるどーを返すコード
はろーわーるどーーー(´・ω・`)
をひたすら返します。
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を選びます。
アプリ名などを入力して作成
を押します。
無事に作成されると、こんな感じになると思います。
⑥ GitHubとAzureの連携
GitHubとAzureを連携させて、GitHubににpushされるとAzureに自動で反映されるように設定します。
6.1 デブロイオプション
デプロイオプション -> GitHubを選択します。
さきほどpushしたリポジトリを選び、OK
を押します。
うまくいくと、こんな感じにチェックマークがつきます。
⑦ Bot Framework登録
Bot Frameworkのサイトに行き、Register a bot
を選択します。
で、いろいろ書くページが表示されるので、必須項目の所を埋めていきます。
7.1 Botの名前
ここでBotの名前とかを書きます。
Bot handle(BotのIDみたいなもの)
は後から変更できないので、注意してください。
7.2 Microsoft App IDとendpoint
この辺は、重要です。
7.2.1 endpoint
ここのendpointに、先ほど作成したAzureのWeb Appのurlを入れます。
Web Appのurlは、概要にあります。これをコピーしてください。
で、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
を選択します。
あとは、画面に表示されるやつをポチポチすると、IDとパスワードが作成されます。
ここのIDとパスワードはメモしといてください。
7.3 プロフィールの設定
privacyやtermsのurlは、開発段階なら適当なurlで大丈夫です。
7.4 設定完了
必須項目も入力できたら、画面下にOKみたいなボタンがあるので、それを押します。
うまくいくと、こんなメッセージが表示されます。
で、管理画面に、こんな感じにBotができているはずです。
⑧ AzureにBot FrameworkのIDとパスワード登録
次に、 先ほどメモしたIDとパスワードをAzureに登録します。
アプリケーション設定
のアプリ設定
に下の画像の感じに設定します。
最後に保存を押すのを忘れなく!
⑨ Slackに追加
先ほどのBotの管理画面にSlackの所があるのでAdd
を押します。
こんな画面がでるので、画面に従って、設定していきます。
9.1 slackアプリケーション作成
ここからアプリケーションを作成します。
9.2 Redirect URI
次に、Bot側の画面にあるCreate application and set redirect URI
の所に表示されているurlを...
SlackのOAuth & Permissions
のRedirect URL(s)
にいれます。
9.3 Bot Users
次に、Bot Users
でAdd a Bot User
を押してBotを追加します。
9.4 Credentials
最後に、Bot側のSubmit your Credentials
に
SlackのclientID
とかをいれます。
で、最後にBot側のI'm done configuring Slack
をおして完了です( *• ̀ω•́ )b
確認
Slackで、BotがActiveになっていることと、チャンネルにBotがいることを確認します(•̀ᴗ•́)و
で、こんな感じにしゃべると、こんな感じに返してくれるはずです!!
Botと簡単なやりとり
近日公開