とうとう Microsoft Bot Framework v4 が正式リリースとなりました。そこで「Microsoft Bot Framework v4 完全制覇」と題して情報を発信していきます。
記事の数が多くなりそうなので、とりあえず目次記事を仮置きして、新しい記事出たらここにリンクしていきます。また記事で取り扱うサンプルのボットは初めから順番に読んでいくことを前提としています。
前提
このシリーズでは、オープンソースとして公開されている Bot Builder のレポジトリの情報も紹介するため、C# がある程度読める前提としています。C# 初心者の方には少しハードルが高いかもしれませんが、事前にご了承ください。
尚、サンプルコードは dotnet core ベースでの開発を前提としています。
Bot Builder v4 でボット開発
このシリーズでは、BotBuilder v4 を使ったボット開発の機能を見ていきます。また BotBuilder v4.3 以降では ApiController を使った方法が使えるようになりましたが、以下の記事では ASP.NET Core ミドルウェアのみを利用した方法を使っています。
最小限構成でまずはオウム返しボットを作る
ボットが起動する仕組みを理解する
アダプター、TurnContext、Activity
単純なダイアログとステート管理
より高度なダイアログ
複数ダイアログの管理
中断処理とグローバルコマンドのハンドリング
LUIS を使った自然言語処理
他サービスに対する認証
Microsoft Graph 連携
ダイアログにおけるリトライの処理と値の検証
ダイアログから送れるメッセージの種類
[ダイアログから基本的なアダプティブカードを送る]
(https://qiita.com/kenakamu/items/2725651445e55ec4545c)
ダイアログから高度なアダプティブカードを送る
多言語対応を行う - リソースファイルの利用
多言語対応を行う - アダプティブカードの多言語化
多言語対応を行う - 翻訳サービスの利用
QnA Maker で簡単に QA ボットを作る
プロアクティブメッセージを送信する
SDK 4.3 以降の変更
ボットが起動する仕組みを理解する - v4.3 で追加された方法編
Bot Builder v4 でのユニットテスト
このシリーズでは、BotBuilder v4 を使ったボットのユニットテスト方法を見ていきます。
※テスト駆動開発ではなく、上記で既に作ったボットに対するテストを後から追加しています。
ユニットテストの概要と準備
ミドルウェアのテスト
単純なダイアログとステート管理のテスト
より高度なダイアログのテスト
複数ダイアログのテスト、ステート管理のモック化
Bot Builder v4 でのテスト : 中断処理とグローバルコマンドのテスト
LUIS を使った自然言語処理のテスト
他サービスに対する認証のテスト
Microsoft Graph 連携のテスト
ダイアログにおけるリトライの処理と検証のテスト
ダイアログから送れる各種メッセージに対応したテスト
アダプティブカードのユニットテスト
リソースファイルを使って多言語対応したボットのユニットテスト
多言語対応したアダプティブカードのユニットテスト
翻訳サービスで多言語化したボットのユニットテスト
QnA Maker ボットのユニットテスト
プロアクティブメッセージのユニットテスト
Bot Builder v4.8 スキルを開発する
このシリーズでは v4.6 からプレビューで公開されたスキルについて、SDK 4.8 時点の情報を提供します。
概要とソリューションの作成
ソリューションのスクリプト詳細
ソリューションのコード詳細
メッセージタイプのアクション追加
イベントタイプのアクション追加
ユニットテスト
スキルのデバッグ
Bot Builder v4.5 でのユニットテスト
SDK 4.5 より Microsoft.Bot.Builder.Testing が追加され、SDK 標準機能としてユニットテストがサポートされました。
このシリーズでは新しく追加されたユニットテストフレームワークについてみていきます。
概要とプロジェクトの作成
IBot を継承するクラスのテスト
ダイアログクラスのテスト - MainDialog
ダイアログクラスのテスト - BookingDialog
ダイアログクラスのテスト - CancelAndHelpDialog
ダイアログクラスのテスト - DateResolverDialog
コントローラーのテスト
SDK 4.3 の変更
SDK 4.3 での OAuthPrompt ユニットテスト
Bot Framework Composer
このシリーズでは Composer の使い方を見ていきます。
※ 2020/5 の Build で GA したため、画面が少し変わりました。適宜読み替えてください。
概要とインストール
ダイアログとトリガー
ユーザー入力の理解
応答の作成
割り込みの対応
メモリオブジェクト
エンティティの取得
HTTP リクエストの利用
ボットの公開
OAuth カードとアクセストークン
QnA Maker 統合
チャネル固有の機能の実装
開発時のデータベース利用
DevOps
このシリーズでは、開発したボットの DevOps 化について見ていきます。
DevOps ビルドパイプラインの作成
DevOps リリースパイプライン作成 - Azure リソースの構成
DevOps リリースパイプライン作成
Azure Bot Services
サービスの概要と初めての Web App Bot 作成
Web App Bot の詳細を確認
つづく
Bot Connector、ツール、実験的機能やサンプル
このシリーズでは、Bot Connector 機能や、便利なツール、および標準の枠を超える、高度な機能の紹介をしていきます。
Bot Connector 関連
Bot Connector のボット利用状況分析
Microsoft Team に接続する
LINE に接続する
ボットの解析
Application Insights を駆使した利用状況分析
Application Insights で収集したボット利用状況を Power BI で解析する
高度な機能
会話のハンドオフシナリオとサンプルの紹介
つづく
サンプルコード
各記事に対応したサンプルコードは以下の GitHub にあります。