Einstein ボットビルダーでロジックを組みところは前々回、前回でお伝えしました。
ダイアログを使ってルーチン化
今まではホームダイアログである「ようこそ」ダイアログでロジックを組んでいました。
今後もチャットボットを実装するにあたり、多岐にわたるルールやアクションの実装が必要になり、かなり縦長のフローが作成されていくことが予想されます。
さすがに1本のダイアログでやりくりするのは、保守性・再利用性共に非効率となるため、ダイアログを分割して作成していくことが求められます。
このへんはプログラムと考え方は同じですね。
一般的な使い方としては、メインメニューで選択肢を与えて選択したメニューごとにダイアログを作って処理をしていくという使い方となっていくんじゃないかと思います。
メインメニューを構築する
まずは、メインメニューから作成してみましょう。
メインメニューでは、メニューを選択肢して各ダイアログに飛ばすといった使い方が一般的な使い方になってきます。
今回はプロ野球12球団分のダイアログを用意し、メインメニューから選択して選択した球団のダイアログに飛ばすといった使い方をやりましょう。
まずは、12球団分のダイアログを作成します。
Einstein ボットビルダーのダイアログから「新規ダイアログ」を選択します。
このように球団ごとにダイアログを作成します(これを12個作ります)。
形だけですが、12球団分作成しました。
あとはこの12球団分のダイアログをメインメニューに組み込みます。
メインメニューのダイアログから「次のステップを選択」で「メニューを表示」を選択して、メニューに12球団のダイアログを追加しましょう。
間のロジックは特に要りません(メッセージを入れるのはあり)。
最後にメインメニューに飛ばすように、「ようこそ」ダイアログの次のステップに「別のダイアログを表示」から「メインメニュー」を指定します。
これでメインメニューの構築が終了です。
図示するとこんな感じ。
実際にプレビューで確認してみると、このようにメニューが12球団分表示されて
球団を選択すると、ダイアログへ飛ぶことができます。
サブメニューの扱いはちょっとややこしい
作っていてお気づきかと思いますが、12個も選択肢があると表示領域を多く取られてしまい、特にスマホから表示した時は使い勝手が悪いでしょう。
そこで、サブメニューを使って、セリーグとパリーグでグループ化します。
まずはEinsteinボットビルダーのダイアログから「新規グループ」を選択します。
グループをセパ別に作成します。
このようにダイアロググループが作成できました。
各球団のダイアログから「編集」を選択して、「ダイアロググループに割り当て」で作成したグループを選択します。
こんな感じでグループ分けをしました。
ここで作成したグループはあくまでEinsteinボットビルダー内で整理されるグループであり、実際にダイアログの実体を持っていないことに注意してください。
グループはEinsteinボットビルダー内ではフォルダのような役割をもつだけに過ぎず、サブメニューは別途ダイアログとして用意する必要があります。
なので、サブメニュー用のダイアログをセパ用に作りましょう。
グループの▼アイコンから「新規ダイアログ」を選択。
セリーグサブメニュー/パリーグサブメニューをそれぞれ作成します。
サブメニューダイアログ内で各球団を振り分け。
メインメニューにはセリーグとパリーグの2つのダイアログを選択できるようにしましょう。
完成形を図示するとこんな感じ。
赤い点線はグループ分けした範囲です。
実際にプレビュー表示してみると、サブメニューがきっちり構築できています。
コメント