ActionContext class
Расширяет DialogContext дополнительными методами для управления выполнением последовательности действий для AdaptiveDialog.
- 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 |
Выполняет поиск диалогового окна с заданным идентификатором. |
| end |
Завершает диалоговое окно и выводит его из стека. Возвращает необязательный результат родительскому элементу диалогового окна. |
| find |
Выполняет поиск диалогового окна с заданным идентификатором. |
| get |
Получите CultureInfo в DialogContext. |
| 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
Возвращает список изменений, которые помещаются в очередь для применения.
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