Microsoft Bot Frameworkを使ってslackのボットを作ってみる直前までやってみる
Build2016 Keynote Day1 でMicrosoft Bot Frameworkっていうのが発表されたみたいですね。
今回はPREVIEW版のこれをつかってボット作ってみます。
といっても
これをなぞるだけですが・・・
Visual Studioのテンプレートからボットを作成
必要なのはVisual Studio 2015 Update 1だそうです。
http://aka.ms/bf-bc-vstemplate
ここからzipファイルを落として
“%USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C#"
に入れます。
これでVisual Studioで新しいプロジェクトを作ると
Bot Application
が追加されているのでこれを選びます。(どこに追加されたのかよくわからないのでbotで検索するといいと思います)
テンプレートで出来上がったプロジェクトはすでにボットとして動きます。
Controller\MessagesController.csを開くと
public async Task<Message> Post([FromBody]Message message) { if (message.Type == "Message") { // calculate something for us to return int length = (message.Text ?? string.Empty).Length; // return our reply to the user return message.CreateReplyMessage($"You sent {length} characters"); } else { return HandleSystemMessage(message); } }
送られたテキストの長さを返すようになっていますね。
試してみる
ローカルで試せます。 テスト用アプリ(Bot Framework Emulator)というのがあります。
インストールしたら実行します。
続いて先ほどのプロジェクトをデバッグ実行します。
BotアプリはWeb APIなので実行するとブラウザが立ち上がると思います。
この時のURLはhttp://localhost:3978/
固定みたいですね。
Bot Framework Emulatorも同じURLを見ていると思いますので、Emulatorからメッセージを入れてみます。
Test
っていれたらYou sent 4 characters
って返ってきましたね、ソース通りです。
右側のペインにはこのBot APIが返しているJSONが出ているみたいです。
発行
これでBotは完成なのでAzureに発行(公開(でぷろい))します。
登録
Microsoft Bot Frameworkに上で公開したBotを登録します。
ユーザー登録とかした後Register a bot
で登録します。
必要事項を入力していきます。Endpointには先ほど公開したAzureのURLを入れます。
https
にしないとダメみたいです。
Register
ボタンおせば何が足りないか教えてくれるのでその項目入れればいいんじゃない?
完成
できました。
あとは右側のペインから追加したいChannelを増やしていきます。
追加の手順はAdd
をクリックすると細かく教えてくれるので迷うことは無いと思います。
特に気を付けるところもないので後はがんばってください。