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)

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

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()

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

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

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

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

options

object

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

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

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

Optional. Если true все родительские диалоги также будут отменены.

eventName

string

Optional. Имя настраиваемого события для вызова в виде диалоговых окон отменено. По умолчанию этот параметр используется для отменыDialog.

eventValue

any

Optional. Значение для передачи вместе с пользовательским событием отмены.

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

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

Optional. Значение для отправки вместе с событием.

bubble

boolean

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

fromLeaf

boolean

Optional. Указывает, генерируется ли событие конечным узлом.

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

Promise<boolean>

true Значение , если событие было обработано.

Комментарии

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

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

endDialog(any)

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

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

Параметры

result

any

Optional. Результат передачи родительской логики. Это может быть следующий диалог в стеке или если это был последний диалог в стеке, родительский контекст диалогового окна или обработчик поворота бота.

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

Promise<DialogTurnResult>

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

Комментарии

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

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

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

Рассмотрим пример.

return await dc.endDialog(returnValue);

См. также

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

findDialog(string)

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

function findDialog(dialogId: string): Dialog | undefined

Параметры

dialogId

string

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

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

Dialog | undefined

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

Комментарии

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

См. также

Наследуется от 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[]

Optional. Массив вариантов выбора для пользователя для использования с параметром 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

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

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

Promise<DialogTurnResult>

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

Комментарии

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

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

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

См. также

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

repromptDialog()

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

function repromptDialog(): Promise<void>

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

Promise<void>

Комментарии

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

Рассмотрим пример.

await dc.repromptDialog();

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