Dialog class
すべてのダイアログの基本クラス。 ダイアログは BotBuilder フレームワークのコア コンポーネントです。 ボットはダイアログを使用して、ユーザーとの任意の複雑な会話を管理します。
- Extends
メソッド
| add |
ライブラリ内のダイアログごとに 1 回呼び出され、ダイアログに |
| begin<T>(Session, T) | 新しいダイアログ セッションが開始されるときに呼び出されます。 |
| begin |
トリガーされるたびに別のダイアログを開始するアクションをダイアログにバインドします。 新しいダイアログはスタックにプッシュされるため、現在のタスクは自動的に終了しません。 現在のタスクは、新しいダイアログが終了すると続行されます。 組み込みプロンプトは、これが発生するとユーザーに自動的に再プロンプトを表示しますが、組み込みプロンプトを呼び出すときに promptAfterAction フラグを設定することで、その動作を無効にすることができます。 |
| cancel |
ダイアログがトリガーされるたびにダイアログを取り消すアクションをダイアログにバインドします。 取り消されると、ダイアログの親は、キャンセルされたことを示す |
| clone(Action |
既存の ActionSet の複製を返します。 |
| custom |
トリガーされたときに渡された onSelectAction ハンドラー |
| dialog |
ルート ダイアログが別のダイアログによって中断されているときに呼び出されます。 これにより、中断されているダイアログは、スタックから削除される前にカスタム ロジックを実行できます。 ダイアログ自体は、ダイアログ スタックをクリアし、新しいダイアログを開始する役割を担います。 |
| dialog |
子ダイアログが終了し、現在のダイアログが再開されています。 |
| end |
トリガーされたときにユーザーとの会話を終了するアクションをバインドします。 |
| find |
Library.findRoutes() スタック上の各ダイアログの呼び出し中に呼び出され、ダイアログ アクションのいずれかがユーザーの発話によってトリガーされるかどうかを判断します。 |
| recognize(IRecognize |
ユーザーの発話を解析し、0.0 から 1.0 のスコアを割り当てます。これは、ダイアログがユーザーの発話を理解したかどうかの確信度を示します。 このメソッドは、スタック上のアクティブなダイアログに対して常に呼び出されます。 スコア 1.0 は完全一致を示し、それ以上の認識を終了します。
スコアが 1.0 未満の場合、スタック上のすべてのダイアログには、recognizeAction() メソッドが呼び出され、ダイアログにバインドされた名前付きアクションがユーザーの発話とより適切に一致するかどうかを確認します。 ボット レベルで登録されたグローバル アクションも評価されます。 ダイアログのスコアが高い場合、バインドされたアクションは、recognize() 呼び出しから返された結果オブジェクトと共に replyReceived() メソッド スコアが高いアクションがある場合、ダイアログの replyReceived() メソッドの代わりにアクションが呼び出されます。 ダイアログはスタックに残り、アクションが新しいダイアログを呼び出した場合に再開される可能性があるため、ダイアログは dialogResumed()への予期しない呼び出し |
| reload |
ダイアログがトリガーされるたびにダイアログが再読み込みされるアクションをダイアログにバインドします。 これは、"やり直し" のようなユーザーの発話を処理するロジックを実装する場合に便利です。 |
| reply |
ユーザーから新しい応答メッセージを受信したときに呼び出されます。 派生クラスは、ユーザーから受信したメッセージを処理するためにこれを実装する必要があります。 |
| select |
発話の信頼度スコアが最も高かったルートを選択します。 |
| trigger |
アクションをダイアログにバインドします。このアクションは、トリガーされるたびにアクティブなダイアログになります。
既定の動作では、スタックをクリアし、スタックのルートでダイアログを開始することで、既存のダイアログを相互運用します。 中断中のダイアログでは、トリガー アクション オプションに onInterrupted ハンドラーのカスタム |
メソッドの詳細
addDialogTrigger(ActionSet, string)
ライブラリ内のダイアログごとに 1 回呼び出され、ダイアログに triggerAction() をライブラリ グローバル アクション セットに追加できます。 これらのトリガーは、トリガー条件が満たされたときにダイアログを開始する beginDialogAction() にマップされます。
function addDialogTrigger(actions: ActionSet, dialogId: string)
パラメーター
- actions
- ActionSet
ライブラリ グローバル アクション セット。
- dialogId
-
string
トリガーするダイアログの完全修飾 ID。
begin<T>(Session, T)
新しいダイアログ セッションが開始されるときに呼び出されます。
function begin<T>(session: Session, args?: T)
パラメーター
- session
- Session
現在の会話のセッション オブジェクト。
- args
-
T
(省略可能) その親によってダイアログに渡される引数。
beginDialogAction(string, string, IBeginDialogActionOptions)
トリガーされるたびに別のダイアログを開始するアクションをダイアログにバインドします。 新しいダイアログはスタックにプッシュされるため、現在のタスクは自動的に終了しません。 現在のタスクは、新しいダイアログが終了すると続行されます。 組み込みプロンプトは、これが発生するとユーザーに自動的に再プロンプトを表示しますが、組み込みプロンプトを呼び出すときに promptAfterAction フラグを設定することで、その動作を無効にすることができます。
function beginDialogAction(name: string, id: string, options?: IBeginDialogActionOptions)
パラメーター
- name
-
string
アクションを割り当てる一意の名前。
- id
-
string
開始するダイアログの ID。
- options
- IBeginDialogActionOptions
(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。 dialogArgs を使用して、開始するダイアログに追加のパラメーターを渡すこともできます。
戻り値
cancelAction(string, TextOrMessageType, ICancelActionOptions)
ダイアログがトリガーされるたびにダイアログを取り消すアクションをダイアログにバインドします。 取り消されると、ダイアログの親は、キャンセルされたことを示す
function cancelAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)
パラメーター
- name
-
string
アクションを割り当てる一意の名前。
(省略可能) ダイアログをキャンセルする前にユーザーを送信するメッセージ。
- options
- ICancelActionOptions
(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。
戻り値
clone(ActionSet)
既存の ActionSet の複製を返します。
function clone(copyTo?: ActionSet)
パラメーター
- copyTo
- ActionSet
(省略可能) 現在のオブジェクトのコピー先のインスタンス。 見つからない場合は、新しいインスタンスが作成されます。
戻り値
customAction(IDialogActionOptions)
トリガーされたときに渡された onSelectAction ハンドラー
function customAction(options: IDialogActionOptions)
パラメーター
- options
- IDialogActionOptions
アクションの構成に使用するオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。 カスタム 照合ロジックは、onFindActionを使用して提供できます。
戻り値
dialogInterrupted(Session, string, any)
ルート ダイアログが別のダイアログによって中断されているときに呼び出されます。 これにより、中断されているダイアログは、スタックから削除される前にカスタム ロジックを実行できます。 ダイアログ自体は、ダイアログ スタックをクリアし、新しいダイアログを開始する役割を担います。
function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)
パラメーター
- session
- Session
現在の会話のセッション オブジェクト。
- dialogId
-
string
開始する必要があるダイアログの ID。
- dialogArgs
-
any
新しいダイアログに渡す引数。
dialogResumed<T>(Session, IDialogResult<T>)
子ダイアログが終了し、現在のダイアログが再開されています。
function dialogResumed<T>(session: Session, result: IDialogResult<T>)
パラメーター
- session
- Session
現在の会話のセッション オブジェクト。
- result
子ダイアログによって返される結果。
endConversationAction(string, TextOrMessageType, ICancelActionOptions)
トリガーされたときにユーザーとの会話を終了するアクションをバインドします。
function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)
パラメーター
- name
-
string
アクションを割り当てる一意の名前。
(省略可能) 会話を終了する前にユーザーを送信するメッセージ。
- options
- ICancelActionOptions
(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。
戻り値
findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)
Library.findRoutes() スタック上の各ダイアログの呼び出し中に呼び出され、ダイアログ アクションのいずれかがユーザーの発話によってトリガーされるかどうかを判断します。
function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)
パラメーター
- context
- IRecognizeDialogContext
受信メッセージのコンテキストと、評価されたダイアログの dialogData。
- callback
-
(err: Error, results: IRouteResult[]) => void
上位候補ルートを使用して呼び出す関数。
recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)
ユーザーの発話を解析し、0.0 から 1.0 のスコアを割り当てます。これは、ダイアログがユーザーの発話を理解したかどうかの確信度を示します。 このメソッドは、スタック上のアクティブなダイアログに対して常に呼び出されます。 スコア 1.0 は完全一致を示し、それ以上の認識を終了します。
スコアが 1.0 未満の場合、スタック上のすべてのダイアログには、recognizeAction() メソッドが呼び出され、ダイアログにバインドされた名前付きアクションがユーザーの発話とより適切に一致するかどうかを確認します。 ボット レベルで登録されたグローバル アクションも評価されます。 ダイアログのスコアが高い場合、バインドされたアクションは、recognize() 呼び出しから返された結果オブジェクトと共に replyReceived() メソッド
スコアが高いアクションがある場合、ダイアログの replyReceived() メソッドの代わりにアクションが呼び出されます。 ダイアログはスタックに残り、アクションが新しいダイアログを呼び出した場合に再開される可能性があるため、ダイアログは dialogResumed()への予期しない呼び出し
function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)
パラメーター
- context
- IRecognizeDialogContext
要求のコンテキスト。
- callback
-
(err: Error, result: IRecognizeResult) => void
認識結果を使用して呼び出す関数。
reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)
ダイアログがトリガーされるたびにダイアログが再読み込みされるアクションをダイアログにバインドします。 これは、"やり直し" のようなユーザーの発話を処理するロジックを実装する場合に便利です。
function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)
パラメーター
- name
-
string
アクションを割り当てる一意の名前。
(省略可能) ダイアログを再読み込みする前にユーザーを送信するメッセージ。
- options
- IBeginDialogActionOptions
(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。 dialogArgs を使用して、再読み込み時に追加のパラメーターをダイアログに渡すこともできます。
戻り値
replyReceived(Session, IRecognizeResult)
ユーザーから新しい応答メッセージを受信したときに呼び出されます。 派生クラスは、ユーザーから受信したメッセージを処理するためにこれを実装する必要があります。
function replyReceived(session: Session, recognizeResult: IRecognizeResult)
パラメーター
- session
- Session
現在の会話のセッション オブジェクト。
- recognizeResult
- IRecognizeResult
recognize() メソッドを
selectActionRoute(Session, IRouteResult)
発話の信頼度スコアが最も高かったルートを選択します。
function selectActionRoute(session: Session, route: IRouteResult)
パラメーター
- session
- Session
現在の会話のセッション オブジェクト。
- route
- IRouteResult
findActionRoutes()の呼び出しから返された結果。
triggerAction(ITriggerActionOptions)
アクションをダイアログにバインドします。このアクションは、トリガーされるたびにアクティブなダイアログになります。
既定の動作では、スタックをクリアし、スタックのルートでダイアログを開始することで、既存のダイアログを相互運用します。 中断中のダイアログでは、トリガー アクション オプションに onInterrupted ハンドラーのカスタム
function triggerAction(options: ITriggerActionOptions)
パラメーター
- options
- ITriggerActionOptions
アクションの構成に使用されるオプション。