BotSwitcher

提供方法の変更のお知らせ
2020年9月30日(水)10:00を以って、既存のBotSwitcher(旧BotSwitcher)はご利用いただけなくなります。
旧BotSwitcherについてはこちらをご覧ください。
旧BotSwicherにおける#RELAY関数や#ONECE関数の移行方法についてはこちらをご覧ください。

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

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

ご注意
BotSwicherを使用してボットを呼び出す場合、対象ボットの配置場所によってシナリオ設定の「<sraix>による呼び出し」を以下に設定してください。

  • BotSwitcherと同一プロジェクト内のボットを呼び出す場合、対象ボットは「project」に設定してください。
  • BotSwitcherと別のプロジェクトにあるボットを呼び出す場合、対象ボットは「global」または「public」に設定してください。
    ※Frontボットとして利用するボットは「global」、そうでないボットは「public」を設定してください。

使用方法

操作手順

  1. Githubに公開されているBotSwicherのシナリオをダウンロードしてください。
    ダウンロードするシナリオについてはこちらをご覧ください。
  2. ダウンロードしたBotSwicherのシナリオを登録してください。
    詳細はこちらをご覧ください。

関数一覧

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

関数 概要
#set botId カレントボットをbotIdに変更します。
#get カレントボットのボットIDを取得します。
#clear カレントボットをクリアします。
#check expire カレントボットの有効期限を検証します。

関数詳細

#set botId

カレントボットをbotIdに変更します。その際、対象ボットの有効期限が設定されます。

有効期限はデフォルトでtime="60"(秒)が設定されます。
有効期限の設定値を変更したい場合は、ボットプロパティファイルのキーにtimeを指定して登録してください。
ボットプロパティファイルについてはこちらをご覧ください。

パラメータ

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

戻り値

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

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

xAIML

実行結果

#get

カレントボットのボットIDを取得します。取得に成功した場合は、対象ボットの有効期限が更新されます。
対象ボットの有効期限が切れていた場合はEXPIRED、対象ボットが見つからない場合はNOTFOUNDが返却されます。

パラメータ

  • なし

戻り値

  • BotSwitcherの状態に応じて下表のとおり戻り値が設定されます。
    カレントボットの有無 有効期限の状態 戻り値
    有り 有効 カレントボットのボットID
    無効 EXPIRED
    無し NOTFOUND

    ※有効期限の状態が無効の場合、#set botId関数を実行すると対象ボットの有効期限が再設定されます。

Example

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

xAIML

実行結果

#clear

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

パラメータ

  • なし

戻り値

  • OK
Example

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

xAIML

実行結果

#check expire

カレントボットの有効期限を検証します。

パラメータ

  • なし

戻り値

  • BotSwitcherの状態に応じて下表のとおり戻り値が設定されます。
    カレントボットの有無 有効期限の状態 戻り値
    有り 有効 STILL ALIVE
    無効 EXPIRED
    無し BOTNOTFOUND

    ※有効期限の状態が無効の場合、#set botId関数を実行すると対象ボットの有効期限が再設定されます。
    有効の場合、#get関数を実行すると対象ボットの有効期限が更新されます。

Example

カレントボットの有効期限を検証する例です。

xAIML

実行結果

使用例

BotSwitcherを使用した例です。有効期限の状態によって実行するボットを変更します。

旧BotSwicherから移行する場合

#RELAY関数を移行する場合

上記の使用例は旧BotSwicherの#RELAYを使用した場合と同じ処理を実行する例です。
旧BotSwicherで#RELAYを使用していた場合は、上記処理に移行してください。

#ONECE関数を移行する場合

旧BotSwicherで#ONECEを使用していた場合は、BotSwitcherを使わずに<sraix>で直接ボットを呼び出すよう変更してください。