今回は Node.js 版での BotBuilder 開発の始め方を紹介します。手順は Windows 10 で試しましたが、他の OS でもほぼ同じです。
情報元: Bot Framework SDK for JavaScript を使用したボットの作成
GitHub: BotBuilder node.js 版ソース
準備
まずツールやテンプレートの準備からします。
1. 以下のリンクから各種ツールをインストール。
Node.js
Visual Studio Code
Botframework Emulator
2. 管理者として実行したコマンドプロンプトで以下のコマンドで Windows ビルド ツールのインストール。※この手順は Windows 環境のみ必要
npm install -g windows-build-tools
3. 以下のコマンドで Yeoman とテンプレートをインストール。
npm install -g yo generator-botbuilder
テンプレートからボットの作成
BotBuilder は複数の要素をもったソリューションであるため、より簡単に始められるようテンプレートが用意されてます。開発言語は JavaScript または TypeScript が選択できます。またテンプレートは Echo/Core/Empty という 3 種類から選択できます。
オウム返しボット
1. 管理者としてコマンドプロンプトを実行し、以下コマンドでボットの作成。作成先のフォルダは任意。
mkdir mybot
cd mybot
yo botbuider
3. テンプレート展開後、npm install が実行されるので、終わるまで待機。
4. 以下コマンドでボットを実行。
cd mybot
npm start
5. Bot エミュレーターを起動し、File | Open Bot をクリック。
6. http://localhost:3978/api/messages 入力して Connect をクリック。
コンテキストを管理してくれるボット
BotBuilder では前回質問した答えなど会話の状態を保持するボットを作ることが出来ます。コードは少し複雑になりますがこちらもテンプレートが用意されています。
1. 管理者としてコマンドプロンプトを実行し、以下コマンドでボットの作成。作成先のフォルダは任意。
mkdir mycorebot
cd mycorebot
yo botbuider
2. 名前、説明、言語を選択。最後にテンプレートを選択。今回は CoreBot を選択。
3. テンプレート展開後、npm install が実行されるので、終わるまで待機。
4. 以下コマンドでボットを実行。
cd mycorebot
npm start
5. 先ほどと同じ手順でエミュレーターでボットに接続。接続するとすぐ以下のようなWelcome メッセージが届く。
6. 何かしらメッセージを送ると、LUIS が構成されていないというメッセージと共に、旅行予約に関するメッセージが送られてくるので、それに回答。前回の回答がボット側で管理されていることを確認。
参考リンク
C# Microsoft Bot Framework v4 完全制覇 : 目次
Azure Bot Service について
ボットのしくみ