Dialog class
Базовый класс для всех диалоговых окон. Диалоги — это основной компонент платформы BotBuilder. Боты используют диалоги для управления произвольными сложными беседами с пользователем.
- Extends
Методы
| add |
Вызывается один раз для каждого диалогового окна в библиотеке, чтобы предоставить диалогу возможность добавить его |
| begin<T>(Session, T) | Вызывается при запуске нового сеанса диалога. |
| begin |
Привязывает действие к диалоговому окну, которое будет запускать другое диалоговое окно в любое время его активации. Новое диалоговое окно будет отправлено в стек, поэтому оно не завершает текущую задачу автоматически. Текущая задача будет продолжена после завершения нового диалога. Встроенные запросы автоматически повторно запрашивают пользователя после этого, но это поведение можно отключить, задав флаг promptAfterAction при вызове встроенного запроса. |
| cancel |
Привязывает действие к диалоговому окну, которое отменит диалоговое окно в любое время его активации. При отмене родительские диалоговые окна будут возобновлены с помощью возобновленного кода, указывающего, что он был отменен . |
| clone(Action |
Возвращает клон существующего набора действий. |
| custom |
Привязывает настраиваемое действие к диалоговому окне, которое вызовет переданный обработчик onSelectAction при активации. |
| dialog |
Вызывается, когда корневое диалоговое окно прерывается другим диалогом. Это дает диалоговое окно, которое прерывается, чтобы запустить пользовательскую логику перед удалением из стека. Само диалоговое окно отвечает за очистку стека диалогов и запуск нового диалога. |
| dialog |
Дочернее диалоговое окно закончилось, и текущий диалог возобновляется. |
| end |
Привязывает действие, которое завершит беседу с пользователем при активации. |
| find |
Вызывается во время вызова |
| recognize(IRecognize |
Анализирует речевой фрагмент пользователей и назначает оценку от 0.0 до 1.0, указывая, насколько уверен диалог в том, что он понял высказывание пользователей. Этот метод всегда вызывается для активного диалога в стеке. Оценка 1.0 будет указывать идеальный матч и завершить любое дальнейшее распознавание. Если оценка меньше 1.0, каждое диалоговое окно в стеке будет иметь метод recognizeAction(), который также вызывается, чтобы узнать, есть ли какие-либо именованные действия, привязанные к диалогу, который лучше соответствует высказыванию пользователей. Глобальные действия, зарегистрированные на уровне бота, также будут оцениваться. Если диалоговое окно имеет более высокую оценку, то все связанные действия, диалоги метода ответаReceived() будут вызываться с объектом результата, возвращенным из вызова распознаваемого(). Это позволяет диалогу передавать дополнительные данные, собранные на этапе распознавания, методу replyReceived() для обработки. Если будет действие с более высокой оценкой, то диалоговое окно будет вызываться вместо метода replyReceived(). Диалоговое окно будет оставаться в стеке и может быть возобновлено в какой-то момент, если действие вызывает новое диалоговое окно, поэтому диалоги должны подготовиться к непредвиденным вызовам для dialogResumed(). |
| reload |
Привязывает действие к диалоговому окну, которое приведет к перезагрузке диалогового окна в любое время его активации. Это полезно для реализации логики, обрабатывающей речевые фрагменты пользователей, такие как "start over". |
| reply |
Вызывается при получении нового сообщения ответа от пользователя. Производные классы должны реализовать это для обработки сообщения, полученного от пользователя. |
| select |
Выбирает маршрут, который имел самую высокую оценку достоверности для речевых фрагментов. |
| trigger |
Привязывает действие к диалоговому окну, которое сделает его активным диалогом в любое время его активации. Поведение по умолчанию заключается в том, чтобы взаимодействовать с любым существующим диалогом, очищая стек и запуская диалоговое окно в корне стека. Прерываемое диалоговое окно может перехватить это прерывание, добавив настраиваемый в обработчик прерванных в параметры действия триггера. Кроме того, можно настроить способ запуска диалогового окна, предоставив настраиваемый обработчик onSelectAction для параметров действия триггера. |
Сведения о методе
addDialogTrigger(ActionSet, string)
Вызывается один раз для каждого диалогового окна в библиотеке, чтобы предоставить диалогу возможность добавить его triggerAction() в набор глобальных действий библиотек. Эти триггеры сопоставляются с beginDialogAction(), которая запускает диалоговое окно при выполнении условия триггера.
function addDialogTrigger(actions: ActionSet, dialogId: string)
Параметры
- actions
- ActionSet
Глобальный набор действий библиотек.
- dialogId
-
string
Полный идентификатор диалогового окна для активации.
begin<T>(Session, T)
Вызывается при запуске нового сеанса диалога.
function begin<T>(session: Session, args?: T)
Параметры
- session
- Session
Объект сеанса для текущей беседы.
- args
-
T
(Необязательно) аргументы, передаваемые в диалоговое окно его родительским элементом.
beginDialogAction(string, string, IBeginDialogActionOptions)
Привязывает действие к диалоговому окну, которое будет запускать другое диалоговое окно в любое время его активации. Новое диалоговое окно будет отправлено в стек, поэтому оно не завершает текущую задачу автоматически. Текущая задача будет продолжена после завершения нового диалога. Встроенные запросы автоматически повторно запрашивают пользователя после этого, но это поведение можно отключить, задав флаг promptAfterAction при вызове встроенного запроса.
function beginDialogAction(name: string, id: string, options?: IBeginDialogActionOptions)
Параметры
- name
-
string
Уникальное имя для назначения действия.
- id
-
string
Идентификатор запускаемого диалогового окна.
- options
- IBeginDialogActionOptions
(Необязательно) параметры, используемые для настройки действия. Если совпадает с указано, что действие будет прослушивать слово или фразу, которая активирует действие, в противном случае действие должно быть привязано к кнопке с помощью CardAction.dialogAction() для активации действия. Вы также можете использовать dialogArgs для передачи дополнительных парам в запущенное диалоговое окно.
Возвращаемое значение
cancelAction(string, TextOrMessageType, ICancelActionOptions)
Привязывает действие к диалоговому окну, которое отменит диалоговое окно в любое время его активации. При отмене родительские диалоговые окна будут возобновлены с помощью возобновленного кода, указывающего, что он был отменен .
function cancelAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)
Параметры
- name
-
string
Уникальное имя для назначения действия.
(Необязательно) сообщение для отправки пользователя до отмены диалогового окна.
- options
- ICancelActionOptions
(Необязательно) параметры, используемые для настройки действия. Если совпадает с указано, что действие будет прослушивать слово или фразу, которая активирует действие, в противном случае действие должно быть привязано к кнопке с помощью CardAction.dialogAction() для активации действия.
Возвращаемое значение
clone(ActionSet)
Возвращает клон существующего набора действий.
function clone(copyTo?: ActionSet)
Параметры
- copyTo
- ActionSet
Экземпляр (необязательно) для копирования текущего объекта в. Если отсутствует новый экземпляр, будет создан.
Возвращаемое значение
customAction(IDialogActionOptions)
Привязывает настраиваемое действие к диалоговому окне, которое вызовет переданный обработчик onSelectAction при активации.
function customAction(options: IDialogActionOptions)
Параметры
- options
- IDialogActionOptions
Параметры, используемые для настройки действия. Если совпадает с указано, что действие будет слушать, чтобы пользователь говорил слово или фразу, которая активирует действие. Пользовательская логика сопоставления может быть предоставлена с помощью onFindAction.
Возвращаемое значение
dialogInterrupted(Session, string, any)
Вызывается, когда корневое диалоговое окно прерывается другим диалогом. Это дает диалоговое окно, которое прерывается, чтобы запустить пользовательскую логику перед удалением из стека. Само диалоговое окно отвечает за очистку стека диалогов и запуск нового диалога.
function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)
Параметры
- session
- Session
Объект сеанса для текущей беседы.
- dialogId
-
string
Идентификатор диалогового окна, который должен быть запущен.
- dialogArgs
-
any
Аргументы, которые должны передаваться в новое диалоговое окно.
dialogResumed<T>(Session, IDialogResult<T>)
Дочернее диалоговое окно закончилось, и текущий диалог возобновляется.
function dialogResumed<T>(session: Session, result: IDialogResult<T>)
Параметры
- session
- Session
Объект сеанса для текущей беседы.
- result
Результат, возвращаемый дочерним диалогом.
endConversationAction(string, TextOrMessageType, ICancelActionOptions)
Привязывает действие, которое завершит беседу с пользователем при активации.
function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)
Параметры
- name
-
string
Уникальное имя для назначения действия.
(Необязательно) сообщение для отправки пользователя до завершения беседы.
- options
- ICancelActionOptions
(Необязательно) параметры, используемые для настройки действия. Если совпадает с указано, что действие будет прослушивать слово или фразу, которая активирует действие, в противном случае действие должно быть привязано к кнопке с помощью CardAction.dialogAction() для активации действия.
Возвращаемое значение
findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)
Вызывается во время вызова
function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)
Параметры
- context
- IRecognizeDialogContext
Контекст входящего сообщения, а также dialogData для вычисляемого диалога.
- callback
-
(err: Error, results: IRouteResult[]) => void
Функция для вызова с маршрутами лучших кандидатов.
recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)
Анализирует речевой фрагмент пользователей и назначает оценку от 0.0 до 1.0, указывая, насколько уверен диалог в том, что он понял высказывание пользователей. Этот метод всегда вызывается для активного диалога в стеке. Оценка 1.0 будет указывать идеальный матч и завершить любое дальнейшее распознавание. Если оценка меньше 1.0, каждое диалоговое окно в стеке будет иметь метод recognizeAction(), который также вызывается, чтобы узнать, есть ли какие-либо именованные действия, привязанные к диалогу, который лучше соответствует высказыванию пользователей. Глобальные действия, зарегистрированные на уровне бота, также будут оцениваться. Если диалоговое окно имеет более высокую оценку, то все связанные действия, диалоги метода ответаReceived() будут вызываться с объектом результата, возвращенным из вызова распознаваемого(). Это позволяет диалогу передавать дополнительные данные, собранные на этапе распознавания, методу replyReceived() для обработки.
Если будет действие с более высокой оценкой, то диалоговое окно будет вызываться вместо метода replyReceived(). Диалоговое окно будет оставаться в стеке и может быть возобновлено в какой-то момент, если действие вызывает новое диалоговое окно, поэтому диалоги должны подготовиться к непредвиденным вызовам для dialogResumed().
function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)
Параметры
- context
- IRecognizeDialogContext
Контекст запроса.
- callback
-
(err: Error, result: IRecognizeResult) => void
Функция для вызова результатов распознавания.
reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)
Привязывает действие к диалоговому окну, которое приведет к перезагрузке диалогового окна в любое время его активации. Это полезно для реализации логики, обрабатывающей речевые фрагменты пользователей, такие как "start over".
function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)
Параметры
- name
-
string
Уникальное имя для назначения действия.
(Необязательно) сообщение для отправки пользователю перед перезагрузкой диалогового окна.
- options
- IBeginDialogActionOptions
(Необязательно) параметры, используемые для настройки действия. Если совпадает с указано, что действие будет прослушивать слово или фразу, которая активирует действие, в противном случае действие должно быть привязано к кнопке с помощью CardAction.dialogAction() для активации действия. Вы также можете использовать dialogArgs для передачи дополнительных парам в диалоговое окно при перезагрузке.
Возвращаемое значение
replyReceived(Session, IRecognizeResult)
Вызывается при получении нового сообщения ответа от пользователя. Производные классы должны реализовать это для обработки сообщения, полученного от пользователя.
function replyReceived(session: Session, recognizeResult: IRecognizeResult)
Параметры
- session
- Session
Объект сеанса для текущей беседы.
- recognizeResult
- IRecognizeResult
Результаты, возвращаемые из предыдущего вызова метода распознавания диалоговых окон
selectActionRoute(Session, IRouteResult)
Выбирает маршрут, который имел самую высокую оценку достоверности для речевых фрагментов.
function selectActionRoute(session: Session, route: IRouteResult)
Параметры
- session
- Session
Объект сеанса для текущей беседы.
- route
- IRouteResult
Результаты, возвращаемые из вызова findActionRoutes().
triggerAction(ITriggerActionOptions)
Привязывает действие к диалоговому окну, которое сделает его активным диалогом в любое время его активации. Поведение по умолчанию заключается в том, чтобы взаимодействовать с любым существующим диалогом, очищая стек и запуская диалоговое окно в корне стека. Прерываемое диалоговое окно может перехватить это прерывание, добавив настраиваемый в обработчик прерванных в параметры действия триггера. Кроме того, можно настроить способ запуска диалогового окна, предоставив настраиваемый обработчик onSelectAction для параметров действия триггера.
function triggerAction(options: ITriggerActionOptions)
Параметры
- options
- ITriggerActionOptions
Параметры, используемые для настройки действия.