なんとかするから、なんとかなる

エンジニア関係のことを書きます

【未完】Bot Framework Composerを使ってみたかった話

はじめに

Bot Framework Composerが新たにプレビューででてきたので、試してみた。 ChatBotをGUIで作れるらしい。Previewなので注意。

リポジトリ

https://github.com/microsoft/BotFramework-Composer

説明など

https://github.com/microsoft/BotFramework-Composer/blob/stable/toc.md

インストール

yarnコマンドを利用する

$ git clone https://github.com/microsoft/BotFramework-Composer.git //クローンしてくる
$ cd BotFramework-Composer/Composer // フォルダ移動
$ yarn install // インストール
$ yarn build // ビルド
$ yarn stratall // 実行

yarn がなれければ

$ brew install yarn

yarn install でこけた時は

error @typescript-eslint/eslint-plugin@2.6.0: The engine "node" is incompatible with this module. Expected version "^8.10.0 || ^10.13.0 || >=11.10.1". Got "10.0.0"
error Found incompatible module.

以下のコマンドで代用

$ yarn --ignore-engines install

または、nodeのバージョンを12.13.0に変更。 .Net Core 2.2をインストール

アクセスする

yarn startall できればローカル環境でアクセスする

http://localhost:3000

動いた。 f:id:hopita:20191109174322p:plain

ボットを作ってみる

  • とりあえず、エコーボットを作るなら、こちらの記事がわかりやすいです。

https://qiita.com/annie/items/93ffbbc2f0981257751e

クラッチでボットを作る

[New] -> [Create from Scrach]

名前と保存場所を決めておく

GreatBot

これでC#のプロジェクトが完成している。

f:id:hopita:20191109174506p:plain

GreaBotMainを開き、ひとまずLUIS等は使わないので、Recognizer TypeはNone。

f:id:hopita:20191109174552p:plain

Triggerの部分で、1つのダイアログを表現する。

ダイアログとはボットの会話のブロック。ダイアログを出し分けることで、様々な機能を盛り込める。

ConversationUpdateではわかりにくいので、挨拶Greetingにしてみる

f:id:hopita:20191109174621p:plain

会話を進めるために、Triggerの下の+ボタンから、[Send a response]を選択。 返信してみる。

ここまできたら、[Start Bot]動作確認。

早速つまづく

Cannot read property 'name' of undefined

yarn やnode, .Net Core のバージョンを合わせても変わらず。

GitHub Issue にて報告されているので、結果を待とう。。。

https://github.com/microsoft/BotFramework-Composer/issues/1541

追記2019/11/12 ワークアラウンドでました。 git cloneにて、master branch を使えば良いらしい。 というわけで、続きを試します。