次の方法で共有


ActionContext class

DialogContext を、AdaptiveDialog の実行中の一連のアクションを操作するための追加のメソッドで拡張します。

Extends

DialogContext

コンストラクター

ActionContext(DialogSet, DialogContext, DialogState, ActionState[], symbol)

ActionContext クラスの新しいインスタンスを初期化します

プロパティ

actions

実行中のアクションの一覧。

changes

適用するキューに登録されている変更の一覧を取得します。

継承されたプロパティ

activeDialog
child
context

ターンのコンテキスト オブジェクトを取得します。

dialogManager
dialogs

このコンテキストから直接呼び出すことができるダイアログを取得します。

parent

このダイアログ コンテキストの親ダイアログ コンテキスト。この undefined コンテキストに親がない場合は 。

services

このダイアログ コンテキストに依存するサービス コレクションを取得します。

stack

現在のダイアログ スタックを取得します。

state

すべてのメモリ スコープのビューを管理する DialogStateManager を取得します。

メソッド

applyChanges()

キューに登録された変更を適用します。

queueChanges(ActionChangeList)

applyChanges() が呼び出されたときに適用される一連の変更をキューに登録します。

継承されたメソッド

beginDialog(string, object)

ダイアログ インスタンスを開始し、ダイアログ スタックにプッシュします。 ダイアログの新しいインスタンスを作成し、スタックにプッシュします。

cancelAllDialogs(boolean, string, any)

ダイアログ スタック上のすべてのダイアログを取り消し、スタックをクリアします。

continueDialog()

アクティブなダイアログがある場合は、このダイアログ コンテキストを Dialog.continueDialog メソッドに渡して、実行を続行します。

emitEvent(string, any, boolean, boolean)

指定された ID を持つダイアログを検索します。

endDialog(any)

ダイアログを終了し、スタックからポップします。 ダイアログの親にオプションの結果を返します。

findDialog(string)

特定の ID を持つダイアログを検索します。

getLocale()

DialogContext で CultureInfo を取得します。

prompt(string, string | Partial<Activity> | PromptOptions)

プロンプト ダイアログを呼び出すためのオプションの書式設定を簡略化するヘルパー関数。

prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])

プロンプト ダイアログを呼び出すためのオプションの書式設定を簡略化するヘルパー関数。

replaceDialog(string, object)

アクティブなダイアログを終了し、その代わりに新しいダイアログを開始します。

repromptDialog()

アクティブなダイアログを要求して、ユーザーに入力を再度求めます。

コンストラクターの詳細

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

ActionState[]

実行する残りのアクションの現在の一覧。

changeKey

symbol

変更を保持する場所の TurnState キー。

プロパティの詳細

actions

実行中のアクションの一覧。

actions: ActionState[]

プロパティ値

changes

適用するキューに登録されている変更の一覧を取得します。

ActionChangeList[] 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 });

参照

継承元 DialogContext.beginDialog

cancelAllDialogs(boolean, string, any)

ダイアログ スタック上のすべてのダイアログを取り消し、スタックをクリアします。

function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>

パラメーター

cancelParents

boolean

省略可能。 すべての親ダイアログも取り消される場合 true

eventName

string

省略可能。 ダイアログが取り消されると発生するカスタム イベントの名前。 既定値は cancelDialog です

eventValue

any

省略可能。 カスタム キャンセル イベントと共に渡す値。

戻り値

Promise<DialogTurnResult>

ダイアログ ターンの結果に解決する Promise。

注釈

これにより、スタックからダイアログを削除する前に、各ダイアログの Dialog.endDialog メソッドが呼び出されます。

スタックに最初にダイアログがあった場合、戻り値の 状態取り消されます。それ以外の場合は です。

次の使用例は、 dc'bookFlight' ダイアログを開始する前にダイアログ スタックをクリアします。

await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');

参照

継承元 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 メソッドを呼び出し、終了ダイアログによって返される結果を渡します。 親ダイアログがない場合、ターンは終了し、返されたオブジェクトの result プロパティを使用してボットで 結果 を使用できます。

返されるオブジェクトの 状態 は、このメソッドが完了した後のダイアログ スタックの状態を表します。

通常は、特定のダイアログのロジック内からこれを呼び出して、ダイアログが完了したことをダイアログ コンテキストに通知し、ダイアログをスタックから削除し、親ダイアログを再開します。

以下に例を示します。

return await dc.endDialog(returnValue);

参照

継承元 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