Einsteinボットのダイアログ整理

Einstein ボットビルダーでロジックを組みところは前々回前回でお伝えしました。

スポンサーリンク

ダイアログを使ってルーチン化

今まではホームダイアログである「ようこそ」ダイアログでロジックを組んでいました。
今後もチャットボットを実装するにあたり、多岐にわたるルールやアクションの実装が必要になり、かなり縦長のフローが作成されていくことが予想されます。

さすがに1本のダイアログでやりくりするのは、保守性・再利用性共に非効率となるため、ダイアログを分割して作成していくことが求められます。
このへんはプログラムと考え方は同じですね。

一般的な使い方としては、メインメニューで選択肢を与えて選択したメニューごとにダイアログを作って処理をしていくという使い方となっていくんじゃないかと思います。

メインメニューを構築する

まずは、メインメニューから作成してみましょう。
メインメニューでは、メニューを選択肢して各ダイアログに飛ばすといった使い方が一般的な使い方になってきます。

今回はプロ野球12球団分のダイアログを用意し、メインメニューから選択して選択した球団のダイアログに飛ばすといった使い方をやりましょう。

まずは、12球団分のダイアログを作成します。

Einstein ボットビルダーのダイアログから「新規ダイアログ」を選択します。
新規ダイアログの作成
このように球団ごとにダイアログを作成します(これを12個作ります)。
ダイアログの作成

形だけですが、12球団分作成しました。
12球団のダイアログ

あとはこの12球団分のダイアログをメインメニューに組み込みます。
メインメニューのダイアログから「次のステップを選択」で「メニューを表示」を選択して、メニューに12球団のダイアログを追加しましょう。
ダイアログをメインメニューに追加する

間のロジックは特に要りません(メッセージを入れるのはあり)。

最後にメインメニューに飛ばすように、「ようこそ」ダイアログの次のステップに「別のダイアログを表示」から「メインメニュー」を指定します。
ホームダイアログからメインメニューに遷移

これでメインメニューの構築が終了です。
図示するとこんな感じ。
ダイアログの遷移フロー

実際にプレビューで確認してみると、このようにメニューが12球団分表示されて
メインメニューのプレビュー表示

球団を選択すると、ダイアログへ飛ぶことができます。
メインメニューからダイアログを選択

サブメニューの扱いはちょっとややこしい

作っていてお気づきかと思いますが、12個も選択肢があると表示領域を多く取られてしまい、特にスマホから表示した時は使い勝手が悪いでしょう。

そこで、サブメニューを使って、セリーグとパリーグでグループ化します。

まずはEinsteinボットビルダーのダイアログから「新規グループ」を選択します。
グループの作成

グループをセパ別に作成します。
ダイアロググループの作成

このようにダイアロググループが作成できました。
ダイアロググループの表示

各球団のダイアログから「編集」を選択して、「ダイアロググループに割り当て」で作成したグループを選択します。
ダイアログにグループを割り当て

こんな感じでグループ分けをしました。
球団ダイアログのグループ分け

ここで作成したグループはあくまでEinsteinボットビルダー内で整理されるグループであり、実際にダイアログの実体を持っていないことに注意してください。

グループはEinsteinボットビルダー内ではフォルダのような役割をもつだけに過ぎず、サブメニューは別途ダイアログとして用意する必要があります。

なので、サブメニュー用のダイアログをセパ用に作りましょう。
グループの▼アイコンから「新規ダイアログ」を選択。
サブメニュー用ダイアログを表示

セリーグサブメニュー/パリーグサブメニューをそれぞれ作成します。

サブメニューダイアログ内で各球団を振り分け。
サブメニューに球団ダイアログを設定

メインメニューにはセリーグとパリーグの2つのダイアログを選択できるようにしましょう。
メインメニューにサブメニューダイアログを設定

完成形を図示するとこんな感じ。
赤い点線はグループ分けした範囲です。
ダイアログの遷移フロー

実際にプレビュー表示してみると、サブメニューがきっちり構築できています。
サブメニューのプレビュー表示

Einstein
スポンサーリンク
エスパーラボ

コメント