Поделиться через


WaterfallStepContext class

Объект контекста, переданный в WaterfallStep.

Extends

Конструкторы

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

Создает новый экземпляр WaterfallStepContext.

Свойства

activeDialog
child
dialogManager
index

Индекс текущего каскадного шага, выполняемого.

options

Все параметры, переданные в каскадный диалог шагов при запуске с DialogContext.beginDialog().

reason

Причина выполнения каскадного шага.

result

Результаты, возвращаемые диалоговым окном или запросом, который был вызван на предыдущем каскадном шаге.

values

Словарь значений, которые будут сохранены во всех каскадных шагах.

Унаследованные свойства

context

Возвращает объект контекста для поворота.

dialogs

Возвращает диалоговые окна, которые можно вызывать непосредственно из этого контекста.

parent

Контекст родительского диалогового окна для этого контекста диалогового окна или undefined, если этот контекст не имеет родительского элемента.

services

Возвращает коллекцию служб, которая является контекстной для этого контекста диалога.

stack

Возвращает текущий стек диалогов.

state

Возвращает DialogStateManager, который управляет представлением всех областей памяти.

Методы

next(any)

Переходит к следующему каскаду шагу.

Наследуемые методы

beginDialog(string, object)

Запускает экземпляр диалогового окна и отправляет его в стек диалогов. Создает новый экземпляр диалогового окна и отправляет его в стек.

cancelAllDialogs(boolean, string, any)

Отменяет все диалоговые окна в стеке диалогов и очищает стек.

continueDialog()

Продолжает выполнение активного диалогового окна, если он есть, передав этот контекст диалогового окна в его метод Dialog.continueDialog.

emitEvent(string, any, boolean, boolean)

Ищет диалоговое окно с заданным идентификатором.

endDialog(any)

Заканчивает диалоговое окно и выводит его из стека. Возвращает необязательный результат родительскому элементу диалогового окна.

findDialog(string)

Ищет диалоговое окно с заданным идентификатором.

getLocale()

Получите CultureInfo в DialogContext.

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

Вспомогательные функции для упрощения форматирования параметров вызова диалогового окна запроса.

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

Вспомогательные функции для упрощения форматирования параметров вызова диалогового окна запроса.

replaceDialog(string, object)

Заканчивает активное диалоговое окно и запускает новый диалог на его месте.

repromptDialog()

Запрашивает активное диалоговое окно для повторного запроса пользователя на ввод.

Сведения о конструкторе

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

Создает новый экземпляр WaterfallStepContext.

new WaterfallStepContext(dc: DialogContext, info: WaterfallStepInfo<O>)

Параметры

dc
DialogContext

Контекст диалогового окна для текущей очереди беседы.

info

WaterfallStepInfo<O>

Значения для инициализации контекста шага с помощью.

Сведения о свойстве

activeDialog

DialogInstance | undefined activeDialog

Значение свойства

DialogInstance | undefined

Сведения о состоянии диалогового окна в верхней части стека диалоговых окон или undefined, если стек пуст.

child

DialogContext | undefined child

Значение свойства

DialogContext | undefined

Контекст диалогового окна для дочернего элемента, если активное диалоговое окно является контейнером.

dialogManager

Предупреждение

Теперь этот API является нерекомендуемым.

This property serves no function.

DialogManager dialogManager

Значение свойства

Текущий экземпляр диспетчера диалогов. Это свойство устарело.

index

Индекс текущего каскадного шага, выполняемого.

number index

Значение свойства

number

Индекс текущего каскадного шага, выполняемого.

options

Все параметры, переданные в каскадный диалог шагов при запуске с DialogContext.beginDialog().

O options

Значение свойства

O

Любые параметры каскадного диалога были вызваны.

reason

Причина выполнения каскадного шага.

DialogReason reason

Значение свойства

Причина выполнения каскадного шага.

result

Результаты, возвращаемые диалоговым окном или запросом, который был вызван на предыдущем каскадном шаге.

any result

Значение свойства

any

Результат предыдущего каскадного шага.

values

Словарь значений, которые будут сохранены во всех каскадных шагах.

object values

Значение свойства

object

Словарь значений, которые будут сохранены во всех каскадных шагах.

Сведения об унаследованном свойстве

context

Возвращает объект контекста для поворота.

context: TurnContext

Значение свойства

TurnContext

Наследуется отDialogContext.context

dialogs

Возвращает диалоговые окна, которые можно вызывать непосредственно из этого контекста.

dialogs: DialogSet

Значение свойства

Унаследовано отDialogContext.dialogs

parent

Контекст родительского диалогового окна для этого контекста диалогового окна или undefined, если этот контекст не имеет родительского элемента.

parent: DialogContext | undefined

Значение свойства

DialogContext | undefined

Комментарии

При попытке запустить диалоговое окно контекст диалогового окна ищет Dialog.id в диалоговых окнах. Если диалоговое окно для запуска не найдено в этом контексте диалога, он выполняет поиск в родительском контексте диалогового окна и т. д.

наследуется отDialogContext.parent

services

Возвращает коллекцию служб, которая является контекстной для этого контекста диалога.

services: TurnContextStateCollection

Значение свойства

TurnContextStateCollection

наследуется отDialogContext.services

stack

Возвращает текущий стек диалогов.

stack: DialogInstance[]

Значение свойства

унаследован отDialogContext.stack

state

Возвращает DialogStateManager, который управляет представлением всех областей памяти.

state: DialogStateManager

Значение свойства

наследуется отDialogContext.state

Сведения о методе

next(any)

Переходит к следующему каскаду шагу.

function next(result?: any): Promise<DialogTurnResult>

Параметры

result

any

(Необязательно) результат для передачи на следующий шаг.

Возвращаемое значение

Promise<DialogTurnResult>

Обещание с помощью DialogTurnResult.

Комментарии

return await step.skip();

Сведения о наследуемом методе

beginDialog(string, object)

Запускает экземпляр диалогового окна и отправляет его в стек диалогов. Создает новый экземпляр диалогового окна и отправляет его в стек.

function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>

Параметры

dialogId

string

Идентификатор запускаемого диалогового окна.

options

object

Необязательный. Аргументы для передачи в диалоговое окно при запуске.

Возвращаемое значение

Promise<DialogTurnResult>

обещание, разрешающее результат поворота диалога.

Комментарии

Если в стеке уже есть активное диалоговое окно, это диалоговое окно будет приостановлено, пока он не будет снова верхним диалогом в стеке.

Состояние возвращаемого объекта описывает состояние стека диалогов после завершения этого метода.

Этот метод создает исключение, если запрошенное диалоговое окно не удается найти в этом контексте диалога или любом из его предков.

Например:

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>

обещание, разрешающее результат поворота диалога.

Комментарии

Это вызывает метод Dialog.endDialog для каждого диалогового окна перед удалением диалогового окна из стека.

Если изначально в стеке были диалоговые окна, состояние возвращаемого значения отменено; в противном случае пустой.

В этом примере очищается стек диалогов dcперед запуском диалогового окна bookFlight.

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

См. также

наследуется отDialogContext.cancelAllDialogs

continueDialog()

Продолжает выполнение активного диалогового окна, если он есть, передав этот контекст диалогового окна в его метод Dialog.continueDialog.

function continueDialog(): Promise<DialogTurnResult>

Возвращаемое значение

Promise<DialogTurnResult>

обещание, разрешающее результат поворота диалога.

Комментарии

После завершения вызова можно проверить контекста поворота, которое ответило свойству, чтобы определить, отправляет ли диалоговое окно ответ пользователю.

Состояние возвращаемого объекта описывает состояние стека диалогов после завершения этого метода.

Как правило, этот вызов выполняется из обработчика поворота бота.

Например:

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)

Ищет диалоговое окно с заданным идентификатором.

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>

обещание, разрешающее результат поворота диалога.

Комментарии

Диалоговое окно родительского — это следующее диалоговое окно в стеке диалогов, если он есть. Этот метод вызывает метод Dialog.resumeDialog родительского объекта, передав результат, возвращаемый конечным диалогом. Если родительское диалоговое окно отсутствует, то поворот заканчивается и результат доступен боту через свойство результата возвращенного объекта.

Состояние возвращаемого объекта описывает состояние стека диалогов после завершения этого метода.

Как правило, этот вызов выполняется из логики для определенного диалогового окна, чтобы сообщить контексту диалога о завершении диалогового окна, диалоговое окно должно быть удалено из стека, а родительский диалог должен возобновиться.

Например:

return await dc.endDialog(returnValue);

См. также

унаследовано отDialogContext.endDialog

findDialog(string)

Ищет диалоговое окно с заданным идентификатором.

function findDialog(dialogId: string): Dialog | undefined

Параметры

dialogId

string

Идентификатор диалогового окна для поиска.

Возвращаемое значение

Dialog | undefined

Диалоговое окно для предоставленного идентификатора.

Комментарии

Если диалоговое окно для запуска не найдено в DialogSet, связанном с этим контекстом диалога, он пытается найти диалоговое окно в родительском контексте диалогового окна.

См. также

наследуется отDialogContext.findDialog

getLocale()

Получите CultureInfo в DialogContext.

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

Идентификатор диалогового окна запроса для запуска.

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

Идентификатор диалогового окна запроса для запуска.

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

Идентификатор запускаемого диалогового окна.

options

object

Необязательный. Аргументы для передачи в новое диалоговое окно при запуске.

Возвращаемое значение

Promise<DialogTurnResult>

обещание, разрешающее результат поворота диалога.

Комментарии

Это особенно полезно для создания цикла или перенаправления в другое диалоговое окно.

Состояние возвращаемого объекта описывает состояние стека диалогов после завершения этого метода.

Этот метод аналогичен окончанию текущего диалога и немедленному началу нового. Однако родительское диалоговое окно не возобновляется и не уведомляется.

См. также

наследуется отDialogContext.replaceDialog

repromptDialog()

Запрашивает активное диалоговое окно для повторного запроса пользователя на ввод.

function repromptDialog(): Promise<void>

Возвращаемое значение

Promise<void>

Комментарии

При этом вызывается метод repromptDia log диалогового окна.

Например:

await dc.repromptDialog();

Унаследовано отDialogContext.repromptDialog