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


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

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

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

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>

Комментарии

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

Например:

await dc.repromptDialog();

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