BotSwitcher

BotSwitcherを使用すると、複数ボットで構成したチャットボットの制御を簡単に行うことができます。

BotSwitcherはユーザと対話するボットをカレントボットとし、その切り替えや確認を行える関数を提供します。

ポイント

BotSwitcherを使用する際はフロントボットにこちらのシナリオを登録してください。

ご注意

カレントボットは、シナリオ設定の「<sraix>による呼び出し」が「global」のボットのみ指定できます。

関数一覧

利用できる関数の一覧です。関数をクリックすると、関数の詳細へジャンプします。

関数 概要
#SWITCH botId カレントボットをbotIdに変更し、初期発話をリクエストします。
#SWITCH botId input カレントボットをbotIdに変更し、inputの内容をリクエストします。
#SET botId カレントボットをbotIdに変更します。
#GET カレントボットのボットIDを取得します。
#RELAY input カレントボットにinputの内容をリクエストします。
#CLEAR カレントボットをクリアします。
#ONECE botId カレントボットを変更せずに、一度だけbotIdに初期発話をリクエストします。
#ONECE botId input カレントボットを変更せずに、一度だけbotIdinputの内容をリクエストします。

関数詳細

#SWITCH botId

カレントボットをbotIdに変更し、初期発話をリクエストします。

パラメータ

  • botId カレントボットのボットID。
    ※シナリオ設定の「<sraix>による呼び出し」が「global」のボットのみ指定できます。

戻り値

  • カレントボットに初期発話をリクエストした際のレスポンス。
Example

カレントボットを以下のダミーボットに変更する例です。

ダミーボット(DummyBot)

xAIML

実行結果

#SWITCH botId input

カレントボットをbotIdに変更し、inputの内容をリクエストします。

パラメータ

  • botId カレントボットのボットID。
    ※シナリオ設定の「<sraix>による呼び出し」が「global」のボットのみ指定できます。
  • input カレントボットにリクエストする発話。

戻り値

  • カレントボットにinputの内容をリクエストした際のレスポンス。
Example

カレントボットを以下のダミーボットに変更する例です。

ダミーボット(DummyBot)

xAIML

実行結果

#SET botId

カレントボットをbotIdに変更します。

パラメータ

  • botId カレントボットのボットID。
    ※シナリオ設定の「<sraix>による呼び出し」が「global」のボットのみ指定できます。

戻り値

  • カレントボットのボットID。
Example

カレントボットを変更する例です。

xAIML

実行結果

#GET

カレントボットのボットIDを取得します。

パラメータ

  • なし

戻り値

  • カレントボットのボットID。
Example

カレントボットのボットIDを取得する例です。

xAIML

実行結果

#RELAY input

カレントボットにinputの内容をリクエストします。

パラメータ

  • input カレントボットにリクエストする発話。

戻り値

  • BotSwitcherの状態に応じて下表のとおり戻り値が設定されます。
    カレントボットの有無 有効期限の状態 戻り値
    有り 有効 カレントボットにinputの内容をリクエストした際のレスポンス。
    無効 EXPIRED
    無し NOTFOUND

    ※カレントボットには有効期限が設けられています。有効期限を更新するには、#SWITCH#SET#RELAYのいずれかの関数を実行してください。

Example

以下のダミーボットがカレントボットに設定されている状態で、#RELAYを実行する例です。

ダミーボット(DummyBot)

xAIML

実行結果

#CLEAR

カレントボットをクリアします。

カレントボットのレスポンス内に文字列#TALKENDを含んでいる場合も#CLEARと同じ動作をします。

パラメータ

  • なし

戻り値

  • OK
Example

カレントボットをクリアする例です。

xAIML

実行結果

#ONECE botId

カレントボットを変更せずに、一度だけbotIdに初期発話をリクエストします。

パラメータ

  • botId 呼び出したいボットID。
    ※シナリオ設定の「<sraix>による呼び出し」が「global」のボットのみ指定できます。

戻り値

  • botIdに初期発話をリクエストした際のレスポンス。
Example

以下のダミーボットに#ONECEを行う例です。

ダミーボット(DummyBot)

xAIML

実行結果

#ONECE botId input

カレントボットを変更せずに、一度だけbotIdinputの内容をリクエストします。

パラメータ

  • botId 呼び出したいボットID。
    ※シナリオ設定の「<sraix>による呼び出し」が「global」のボットのみ指定できます。
  • input 呼び出したいボットにリクエストする発話。

戻り値

  • botIdinputの内容をリクエストした際のレスポンス。
Example

以下のダミーボットに#ONECEを行う例です。

ダミーボット(DummyBot)

xAIML

実行結果

BotSwitcherシナリオ

BotSwitcherを使用する際に必要となるシナリオ(BotSwitcher.aiml)です。
特に理由がない場合はこのまま登録して使用してください。