ActionContext class
AdaptiveDialogのアクションの実行シーケンスを操作するための追加のメソッドを使用して、DialogContext を拡張します。
- Extends
-
DialogContext
コンストラクター
Action |
ActionContext クラスの新しいインスタンスを初期化します。 |
プロパティ
actions | 実行中のアクションの一覧。 |
changes | 適用するキューに登録されている変更の一覧を取得します。 |
継承されたプロパティ
active |
|
child | |
context | ターンのコンテキスト オブジェクトを取得します。 |
dialog |
|
dialogs | このコンテキストから直接呼び出すことができるダイアログを取得します。 |
parent | このダイアログ コンテキストの親ダイアログ コンテキスト。このコンテキストに親がない場合は |
services | このダイアログ コンテキストに依存するサービス コレクションを取得します。 |
stack | 現在のダイアログ スタックを取得します。 |
state | すべてのメモリ スコープのビューを管理する DialogStateManager を取得します。 |
メソッド
apply |
キューに登録された変更を適用します。 |
queue |
applyChanges() が呼び出されたときに適用される一連の変更をキューに登録します。 |
継承されたメソッド
begin |
ダイアログ インスタンスを開始し、ダイアログ スタックにプッシュします。 ダイアログの新しいインスタンスを作成し、スタックにプッシュします。 |
cancel |
ダイアログ スタック上のすべてのダイアログをキャンセルし、スタックをクリアします。 |
continue |
アクティブなダイアログがある場合は、このダイアログ コンテキストを Dialog.continueDialog メソッドに渡して、アクティブなダイアログの実行を続行します。 |
emit |
特定の ID を持つダイアログを検索します。 |
end |
ダイアログを終了し、スタックからポップします。 ダイアログの親にオプションの結果を返します。 |
find |
特定の ID を持つダイアログを検索します。 |
get |
DialogContext で CultureInfo を取得します。 |
prompt(string, string | Partial<Activity> | Prompt |
プロンプト ダイアログを呼び出すためのオプションの書式設定を簡略化するヘルパー関数。 |
prompt(string, string | Partial<Activity> | Prompt |
プロンプト ダイアログを呼び出すためのオプションの書式設定を簡略化するヘルパー関数。 |
replace |
アクティブなダイアログを終了し、その代わりに新しいダイアログを開始します。 |
reprompt |
アクティブなダイアログに対して、ユーザーに入力を再度求めるメッセージを表示するように要求します。 |
コンストラクターの詳細
ActionContext(DialogSet, DialogContext, DialogState, ActionState[], symbol)
ActionContext クラスの新しいインスタンスを初期化します。
new ActionContext(dialogs: DialogSet, parentDialogContext: DialogContext, state: DialogState, actions: ActionState[], changeKey: symbol)
パラメーター
- dialogs
-
DialogSet
アクション コンテキストを作成するためのダイアログ セット。
- parentDialogContext
-
DialogContext
親ダイアログ コンテキスト。
- state
-
DialogState
現在のダイアログの状態。
- actions
実行する残りのアクションの現在の一覧。
- changeKey
-
symbol
変更を保持する場所の TurnState キー。
プロパティの詳細
actions
changes
継承されたプロパティの詳細
activeDialog
activeDialog: DialogInstance | undefined
プロパティ値
DialogInstance | undefined
DialogContext.activeDialog から継承された
child
child: DialogContext | undefined
プロパティ値
DialogContext | undefined
DialogContext.child から継承された
context
ターンのコンテキスト オブジェクトを取得します。
context: TurnContext
プロパティ値
TurnContext
DialogContext.context から継承された
dialogManager
dialogManager: DialogManager
プロパティ値
DialogManager
DialogContext.dialogManager から継承された
dialogs
このコンテキストから直接呼び出すことができるダイアログを取得します。
dialogs: DialogSet
プロパティ値
DialogSet
DialogContext.dialogs から継承された
parent
このダイアログ コンテキストの親ダイアログ コンテキスト。このコンテキストに親がない場合は undefined
。
parent: DialogContext | undefined
プロパティ値
DialogContext | undefined
注釈
ダイアログを開始しようとすると、ダイアログ コンテキストは、ダイアログで Dialog.id を検索します。 開始するダイアログがこのダイアログ コンテキストで見つからない場合は、その親ダイアログ コンテキストで検索されます。
DialogContext.parent から継承された
services
このダイアログ コンテキストに依存するサービス コレクションを取得します。
services: TurnContextStateCollection
プロパティ値
TurnContextStateCollection
DialogContext.services から継承された
stack
現在のダイアログ スタックを取得します。
stack: DialogInstance[]
プロパティ値
DialogInstance[]
DialogContext.stack から継承された
state
すべてのメモリ スコープのビューを管理する DialogStateManager を取得します。
state: DialogStateManager
プロパティ値
DialogStateManager
DialogContext.state から継承された
メソッドの詳細
applyChanges()
キューに登録された変更を適用します。
function applyChanges(): Promise<boolean>
戻り値
Promise<boolean>
適用する変更があった場合は True。
queueChanges(ActionChangeList)
applyChanges() が呼び出されたときに適用される一連の変更をキューに登録します。
function queueChanges(changes: ActionChangeList)
パラメーター
- changes
- ActionChangeList
キューアップの変更を計画します。
継承済みメソッドの詳細
beginDialog(string, object)
ダイアログ インスタンスを開始し、ダイアログ スタックにプッシュします。 ダイアログの新しいインスタンスを作成し、スタックにプッシュします。
function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
パラメーター
- dialogId
-
string
開始するダイアログの ID。
- options
-
object
随意。 ダイアログの起動時に渡す引数。
戻り値
Promise<DialogTurnResult>
ダイアログ ターンの結果に解決する Promise。
注釈
スタックにアクティブなダイアログが既に存在する場合、そのダイアログはスタック上の一番上のダイアログになるまで一時停止されます。
返されたオブジェクトの 状態 は、このメソッドが完了した後のダイアログ スタックの状態を示します。
このダイアログ コンテキストまたはその先祖で要求されたダイアログが見つからない場合、このメソッドは例外をスローします。
例えば:
const result = await dc.beginDialog('greeting', { name: user.name });
も参照
- endDialog を する
- プロンプト
- replaceDialog
- Dialog.beginDialog
DialogContext.beginDialog から継承された
cancelAllDialogs(boolean, string, any)
ダイアログ スタック上のすべてのダイアログをキャンセルし、スタックをクリアします。
function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>
パラメーター
- cancelParents
-
boolean
随意。
true
場合、すべての親ダイアログも取り消されます。
- eventValue
-
any
随意。 カスタム キャンセル イベントと共に渡す値。
戻り値
Promise<DialogTurnResult>
ダイアログ ターンの結果に解決する Promise。
注釈
これにより、スタックからダイアログを削除する前に、各ダイアログの Dialog.endDialog メソッドが呼び出されます。
最初にスタックにダイアログがあった場合、戻り値の 状態 は 取り消。それ以外の場合は、空の 。
次の使用例は、"bookFlight" ダイアログを開始する前に、ダイアログ スタック dc
クリアします。
await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');
も参照
- endDialog を する
DialogContext.cancelAllDialogs から継承された
continueDialog()
アクティブなダイアログがある場合は、このダイアログ コンテキストを Dialog.continueDialog メソッドに渡して、アクティブなダイアログの実行を続行します。
function continueDialog(): Promise<DialogTurnResult>
戻り値
Promise<DialogTurnResult>
ダイアログ ターンの結果に解決する Promise。
注釈
呼び出しが完了したら、ターン コンテキストの応答 プロパティを確認して、ダイアログがユーザーに応答を送信したかどうかを判断できます。
返されたオブジェクトの 状態 は、このメソッドが完了した後のダイアログ スタックの状態を示します。
通常は、ボットのターン ハンドラー内からこれを呼び出します。
例えば:
const result = await dc.continueDialog();
if (result.status == DialogTurnStatus.empty && dc.context.activity.type == ActivityTypes.message) {
// Send fallback message
await dc.context.sendActivity(`I'm sorry. I didn't understand.`);
}
DialogContext.continueDialog から継承された
emitEvent(string, any, boolean, boolean)
特定の ID を持つダイアログを検索します。
function emitEvent(name: string, value?: any, bubble?: boolean, fromLeaf?: boolean): Promise<boolean>
パラメーター
- name
-
string
発生させるイベントの名前。
- value
-
any
随意。 イベントと共に送信する値。
- bubble
-
boolean
随意。 ローカルで処理されない場合にイベントを親にバブルするかどうかを制御するフラグ。 既定値は true
です。
- fromLeaf
-
boolean
随意。 イベントがリーフ ノードから出力されるかどうか。
戻り値
Promise<boolean>
イベントが処理されたかどうかを true
します。
注釈
現在のダイアログまたはそれを開始したユーザーが処理する名前付きイベントを出力します。
DialogContext.emitEvent から継承された
endDialog(any)
ダイアログを終了し、スタックからポップします。 ダイアログの親にオプションの結果を返します。
function endDialog(result?: any): Promise<DialogTurnResult>
パラメーター
- result
-
any
随意。 親ロジックに渡す結果。 これは、スタック上の次のダイアログ、またはこれがスタックの最後のダイアログ、親ダイアログ コンテキスト、またはボットのターン ハンドラーである場合です。
戻り値
Promise<DialogTurnResult>
ダイアログ ターンの結果に解決する Promise。
注釈
親 ダイアログは、ダイアログ スタック上の次のダイアログ (存在する場合) です。 このメソッドは、親の Dialog.resumeDialog メソッドを呼び出し、終了ダイアログによって返された結果を渡します。 親ダイアログがない場合、ターンは終了し、結果は返されたオブジェクトの 結果 プロパティを通じてボットで使用できます。
返されたオブジェクトの 状態 は、このメソッドが完了した後のダイアログ スタックの状態を示します。
通常は、特定のダイアログのロジック内からこれを呼び出して、ダイアログが完了したことをダイアログ コンテキストに通知し、ダイアログをスタックから削除し、親ダイアログを再開します。
例えば:
return await dc.endDialog(returnValue);
も参照
- beginDialog を する
- replaceDialog
- Dialog.endDialog
DialogContext.endDialog から継承された
findDialog(string)
特定の ID を持つダイアログを検索します。
function findDialog(dialogId: string): Dialog | undefined
パラメーター
- dialogId
-
string
検索するダイアログの ID。
戻り値
Dialog | undefined
指定された ID のダイアログ。
注釈
このダイアログ コンテキストに関連付けられている DialogSet で開始するダイアログが見つからない場合は、その親ダイアログ コンテキストでダイアログを検索しようとします。
も参照
- ダイアログ
- 親
DialogContext.findDialog から継承された
getLocale()
DialogContext で CultureInfo を取得します。
function getLocale(): string
戻り値
string
ロケール文字列。
DialogContext.getLocale から継承された
prompt(string, string | Partial<Activity> | PromptOptions)
プロンプト ダイアログを呼び出すためのオプションの書式設定を簡略化するヘルパー関数。
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions): Promise<DialogTurnResult>
パラメーター
- dialogId
-
string
開始するプロンプト ダイアログの ID。
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
ユーザーを送信する最初のプロンプトのテキスト、最初のプロンプトとして送信するアクティビティ、またはプロンプト ダイアログの書式設定に使用するオブジェクト。
戻り値
Promise<DialogTurnResult>
注釈
このヘルパー メソッドは、options
パラメーターとして使用するオブジェクトを書式設定し、beginDialog 呼び出して、指定したプロンプト ダイアログを開始します。
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
DialogContext.prompt から継承された
prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])
プロンプト ダイアログを呼び出すためのオプションの書式設定を簡略化するヘルパー関数。
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions, choices: string | Choice[]): Promise<DialogTurnResult>
パラメーター
- dialogId
-
string
開始するプロンプト ダイアログの ID。
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
ユーザーを送信する初期プロンプトのテキスト、初期プロンプトとして送信する アクティビティ、またはプロンプト ダイアログの書式設定に使用するオブジェクト。
- choices
-
string | Choice[]
随意。 ユーザーが選択する選択肢の配列。ChoicePromptで使用します。
戻り値
Promise<DialogTurnResult>
注釈
このヘルパー メソッドは、options
パラメーターとして使用するオブジェクトを書式設定し、beginDialog 呼び出して、指定したプロンプト ダイアログを開始します。
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
DialogContext.prompt から継承された
replaceDialog(string, object)
アクティブなダイアログを終了し、その代わりに新しいダイアログを開始します。
function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
パラメーター
- dialogId
-
string
開始するダイアログの ID。
- options
-
object
随意。 起動時に新しいダイアログに渡す引数。
戻り値
Promise<DialogTurnResult>
ダイアログ ターンの結果に解決する Promise。
注釈
これは、ループを作成したり、別のダイアログにリダイレクトしたりする場合に特に便利です。
返されたオブジェクトの 状態 は、このメソッドが完了した後のダイアログ スタックの状態を示します。
このメソッドは、現在のダイアログを終了し、新しいダイアログをすぐに開始するのと似ています。 ただし、親ダイアログは再開も通知もされません。
も参照
DialogContext.replaceDialog から継承された
repromptDialog()
アクティブなダイアログに対して、ユーザーに入力を再度求めるメッセージを表示するように要求します。
function repromptDialog(): Promise<void>
戻り値
Promise<void>
注釈
これにより、アクティブなダイアログの repromptDialog メソッドが呼び出されます。
例えば:
await dc.repromptDialog();
DialogContext.repromptDialog から継承された