指定したボットと対話を行います。
指定したボットから正常に応答があった場合はその内容を出力しますが、それ以外の場合は以下に従い出力します。
- 指定したボットが存在しない場合 ・・・
BOT_NOTFOUND
- 指定したボットが受入れ許可設定されていない場合 ・・・
BOT_FORBIDDEN
- 指定したボットでエラーが発生した場合 ・・・
NOMATCH
属性
名称 | 型 | 必須 | デフォルト | 説明 |
---|---|---|---|---|
botid |
string |
※ | – | 対話を行うボットのIDを指定します。 ※ <botid> を指定しない場合、この属性は必須となります。 |
lang 独自拡張 |
string |
– | – | 対話を行うボットの言語コードを指定します。 |
clientdata 独自拡張 |
boolean |
– | false |
呼び出し元ボットのclientdata を引き継ぐか指定します。 |
default 独自拡張 |
string |
– | – | 対話を行うボットからレスポンスが無い場合のデフォルト応答を指定します。 |
host 独自拡張 |
string |
– | – | 呼び出すボットがリモートボットの場合に、そのボットが稼働している自然対話プラットフォームのシナリオ対話APIのエンドポイントを指定します。 |
referrer 独自拡張 |
boolean |
– | false |
リモートボットに呼び出し元ボットの情報を引き継ぐかを指定します。 ※この属性は host 属性を指定している場合のみ有効です。 |
botid
対話を行うボットのIDを指定します。
指定したボットと対話処理を行います。
この属性の代わりに、子要素の <botid>
が利用できます。また、<botid>
を指定しない場合、この属性は必須となります。
1 2 3 4 5 6 7 |
<category> <pattern>こんにちは</pattern> <template> <sraix botid="anotherBot"><get name="input"/></sraix> <sraix><botid>anotherBot2</botid><get name="input"/></sraix> </template> </category> |
lang
対話を行うボットの言語コードを記述します。
この属性は、呼び出し元ボットとは別の言語で対話を行いたい場合に指定します。
指定なしの場合は、呼び出し元ボットの言語を引き継ぎます。
1 2 3 4 5 6 |
<category> <pattern>hello *</pattern> <template> <sraix botid="anotherBot" lang="en-US"><star/></sraix> </template> </category> |
clientdata
呼び出し元ボットのclientdata
を引き継ぐか指定します。
true
を指定した場合、呼び出し元ボットのclientdata
を引き継ぎます。
この情報はフロントボットでしか取得できない為、呼び出し先のボットでclientdata
を使用する場合はtrue
を設定してください。
1 2 3 4 5 6 |
<category> <pattern>こんにちは *</pattern> <template> <sraix botid="anotherBot" clientdata="true"><star/></sraix> </template> </category> |
default
対話を行うボットからレスポンスが無い場合のデフォルト応答を指定します。
指定したボットIDに対し対話処理を行い、エラーまたは、パターンマッチしない場合はdefault
属性に指定した値を返却します。
1 2 3 4 5 6 |
<category> <pattern>*</pattern> <template> <sraix botid="anotherBot" default="よくわかりませんでした"><star/></sraix> </template> </category> |
host
呼び出すボットがリモートボットの場合に、そのボットが稼働している自然対話プラットフォームのシナリオ対話APIのエンドポイントを指定します。
リモートボット側で
_task_keep_dialog_status
にtrue
を設定した場合は、リモートボット側で意図解釈のステータスを保持できます。referrer
リモートボットに呼び出し元の情報を引き継ぐかを指定します。
※この属性はhost
属性を指定している場合のみ有効です。
true
を指定した場合、リモートボットではシステム内固定のPredicate
(callerBot
, frontBot
)を利用できます。
子要素
<template>
タグで利用可能なものの他に、さらに以下の要素を使用できます。
名称 | 型 | 必須 | デフォルト | 説明 |
---|---|---|---|---|
botid 独自拡張 |
string |
※ | – | 対話を行うボットのIDを指定します。 ※ botid 属性を指定しない場合、この要素は必須となります。 |
sraixtopic 独自拡張 |
string |
– | * |
接続先ボットのトピックを指定します。 |
botid
対話を行うボットのIDを指定します。
対話を行うボットIDが動的に変わる場合など、botid
属性では対処できない場合に使用します。
このタグで使用できる子要素は、<template>
タグと同様です。
1 2 3 4 5 6 |
<category> <pattern>こんにちは</pattern> <template> <sraix><botid>anotherBot2</botid><get name="input"/></sraix> </template> </category> |
sraixtopic
接続先ボットのトピックを指定します。
指定したトピックで初期化された状態で、指定したボットIDと対話を行います。
このタグで使用できる子要素は、<template>
タグと同様です。
1 2 3 4 5 6 7 8 |
<category> <pattern>こんにちは *</pattern> <template> <sraix botid="anotherBot"> <sraixtopic>HELLO</sraixtopic><star/> </sraix> </template> </category> |
sraix応答情報取得方法
<sraix>
で呼び出したボットの処理結果は、Predicateに設定されます。以下のpredicateを
<get>
タグなどで参照すると、応答情報を取得できます。※sraix応答情報のpredicateは全て読み取り専用です。
Predicate名 | 設定値 |
---|---|
_sraix_[ボットID]_systemText |
呼出し先ボットのシステム発話。 |
_sraix_[ボットID]_readText |
呼出し先ボットのシステム発話のヨミ。 |
_sraix_[ボットID]_timeout |
呼出し先ボットの分割発話時のタイムアウト値。 |
_sraix_[ボットID]_command |
呼出し先ボットのコマンド。 |
_sraix_[ボットID]_talkEnd |
呼出し先ボットの発話情報フラグ値。 |