Session class
Управляет беседой ботов с пользователем.
Конструкторы
| Session(ISession |
Создает экземпляр сеанса. |
Свойства
| connector | Соединитель, используемый для этого сеанса. |
| conversation |
Общие данные беседы, видимые всем членам беседы. |
| dialog |
Данные, которые отображаются только в текущем диалоговом окне. |
| library | Корневая библиотека диалогов ботов. |
| localizer | Локалиизатор для текущего сеанса. |
| message | Сообщение, полученное от пользователя. Для сообщений, полученных ботом, это может содержать только поля "to" & "from". |
| private |
Данные частной беседы, которые отображаются только пользователю. |
| session |
Сведения о текущем состоянии сеансов. |
| user |
Данные для пользователя, который сохраняется во всех беседах с ботом. |
Методы
| active |
Возвращает активное диалоговое окно стека или null. |
| begin |
Передает управление беседой в новое диалоговое окно. Текущее диалоговое окно будет приостановлено до завершения дочернего диалога. После завершения текущего диалогового окна вызовет dialogResumed(), где он может проверить любые результаты, возвращаемые дочерним элементом. |
| cancel |
Отменяет существующее диалоговое окно и при необходимости запускает новый его место. В отличие от endDialog() и replaceDialog(), влияющих на текущее диалоговое окно, этот метод позволяет завершить родительский диалог в любом месте стека. Родительский элемент отмененного диалогового окна будет продолжен, как если бы диалоговое окно вызывало endDialog(). Будет возвращен специальный ResumeReason.canceled, чтобы указать, что диалоговое окно отменено. |
| clear |
Очищает текущий стек диалогов. |
| delay(number) | Вставляет задержку между исходящими сообщениями. |
| dialog |
Возвращает или задает текущий стек диалогов. Возвращается копия текущего диалогового окна, поэтому при внесении изменений в возвращенный стек они должны быть скопированы обратно в сеанс с помощью второго вызова |
| dispatch(ISession |
Завершает инициализацию объекта сеанса, а затем направляет сеанс по всем установленным ПО промежуточного слоя. Переданная в |
| end |
Завершает текущую беседу и при необходимости отправляет пользователю сообщение. |
| end |
Заканчивает текущее диалоговое окно и при необходимости отправляет пользователю сообщение. Родитель будет возобновлен с IDialogResult.resumed причиной завершения . |
| end |
Заканчивает текущий диалог и при необходимости возвращает результат родительскому элементу диалогов. |
| error(Error) | Сигнализирует об ошибке. Бот будет сигнализировать об ошибке с помощью события on('error', err). |
| find |
Выполняет поиск стека диалогов для определенного диалогового окна в направлении вперед или обратного направления, возвращая его индекс. |
| for |
Перечисляет все записи диалоговых окон стека в направлении вперед или в обратном направлении. |
| gettext(string, any[]) | Загружает локализованную строку для языка сообщений. Если аргументы передают локализованную строку, она будет рассматриваться как шаблон и отформатирована с помощью sprintf-js (дополнительные сведения см. в их документации.) |
| is |
Возвращает значение true, если сеанс был сброшен. |
| message |
Возвращает значение true, если сообщение отправлено для этого сеанса. |
| ngettext(string, string, number) | Загружает форму множественного числа локализованной строки для языка сообщений. Выходная строка будет отформатирована, чтобы включить количество, заменив %d в строке числом. |
| on(string, (data: any) => void) | Регистрирует прослушиватель событий. |
| pop |
Выводит активное диалоговое окно из стека и возвращает новый, если стек не пуст. |
| preferred |
Возвращает предпочтительный языковой стандарт при отсутствии параметров, в противном случае задает предпочтительный языковой стандарт. |
| prune |
Удаляет все записи стека диалогов, начиная с указанного индекса, и возвращает новое активное диалоговое окно. |
| push |
Отправляет новый диалог в стек и возвращает его в качестве активного диалогового окна. |
| replace |
Заканчивает текущее диалоговое окно и запускает новый его место. Родительское диалоговое окно не будет возобновлено, пока не завершится новое диалоговое окно. |
| reset(string, any) | Очищает сеансы, вызывающие вызовы, и перезапускает беседу с настроенным диалоговым идентификатором. |
| route |
Отправляет сеанс в активное диалоговое окно или диалоговое окно по умолчанию для обработки. |
| save() | Активирует сохранение изменений, внесенных в dialogData, userData, conversationdataили [privateConversationData'(#privateconversationdata). |
| say(Text |
|
| say(Text |
Отправляет пользователю текст и необязательный SSML. |
| say |
Отправляет текст и необязательный SSML- сообщение пользователю с помощью определенного пространства имен локализации. |
| send(Text |
Отправляет пользователю сообщение. |
| send |
Немедленно завершает текущий пакет и отправляет все сообщения в очереди. |
| send |
Отправляет пользователю сообщение с помощью определенного пространства имен локализации. |
| send |
Отправляет пользователю указание на ввод бота. Для длительных операций это должно вызываться каждые несколько секунд. |
| to |
Возвращает объект сеанса в качестве объекта контекста только для чтения. |
| validate |
Гарантирует, что все записи в стеке диалоговых окон ссылаются на допустимые диалоговые окна в иерархии библиотеки. |
| watch(string, boolean) | Включает или отключает часы для текущего сеанса. |
| watchable(string, IWatchable |
Добавляет или извлекает переменную, которую можно просмотреть. |
| watchable |
Возвращает список отслеживаемых переменных. |
| watch |
Возвращает текущий список отслеживаемых переменных для сеанса. |
Сведения о конструкторе
Session(ISessionOptions)
Создает экземпляр сеанса.
new Session(options: ISessionOptions)
Параметры
- options
- ISessionOptions
Параметры конфигурации сеансов.
Сведения о свойстве
connector
conversationData
Общие данные беседы, видимые всем членам беседы.
conversationData: any
Значение свойства
any
dialogData
Данные, которые отображаются только в текущем диалоговом окне.
dialogData: any
Значение свойства
any
library
localizer
message
Сообщение, полученное от пользователя. Для сообщений, полученных ботом, это может содержать только поля "to" & "from".
message: IMessage
Значение свойства
privateConversationData
Данные частной беседы, которые отображаются только пользователю.
privateConversationData: any
Значение свойства
any
sessionState
userData
Данные для пользователя, который сохраняется во всех беседах с ботом.
userData: any
Значение свойства
any
Сведения о методе
activeDialogStackEntry(IDialogState[])
Возвращает активное диалоговое окно стека или null.
static function activeDialogStackEntry(stack: IDialogState[])
Параметры
- stack
Стек диалогов для возврата записи.
Возвращаемое значение
beginDialog<T>(string, T)
Передает управление беседой в новое диалоговое окно. Текущее диалоговое окно будет приостановлено до завершения дочернего диалога. После завершения текущего диалогового окна вызовет dialogResumed(), где он может проверить любые результаты, возвращаемые дочерним элементом.
function beginDialog<T>(id: string, args?: T)
Параметры
- id
-
string
Уникальный идентификатор диалогового окна для запуска.
- args
-
T
(Необязательно) аргументы для передачи в диалоговые окна метода begin().
Возвращаемое значение
cancelDialog(string | number, string, any)
Отменяет существующее диалоговое окно и при необходимости запускает новый его место. В отличие от endDialog() и replaceDialog(), влияющих на текущее диалоговое окно, этот метод позволяет завершить родительский диалог в любом месте стека. Родительский элемент отмененного диалогового окна будет продолжен, как если бы диалоговое окно вызывало endDialog(). Будет возвращен специальный ResumeReason.canceled, чтобы указать, что диалоговое окно отменено.
function cancelDialog(dialogId: string | number, replaceWithId?: string, replaceWithArgs?: any)
Параметры
- dialogId
-
string | number
- dialogId:{string} — идентификатор диалогового окна. Если в стеке диалоговых окон существует несколько случаев, последнее выполнение будет отменено.
- dialogId:{number} — индекс диалогового окна в стеке для отмены. Это предпочтительный способ отменить диалоговое окно из обработчика действий, так как он гарантирует, что правильный экземпляр отменен.
- replaceWithId
-
string
(Необязательно) указывает идентификатор для запуска в месте отмененных диалоговых окон. Это предотвращает возобновление родительских диалогов.
- replaceWithArgs
-
any
Аргументы (необязательно) для передачи в новое диалоговое окно.
Возвращаемое значение
clearDialogStack()
delay(number)
Вставляет задержку между исходящими сообщениями.
function delay(delay: number)
Параметры
- delay
-
number
Количество миллисекунда, для которых необходимо приостановить.
Возвращаемое значение
dialogStack(IDialogState[])
Возвращает или задает текущий стек диалогов. Возвращается копия текущего диалогового окна, поэтому при внесении изменений в возвращенный стек они должны быть скопированы обратно в сеанс с помощью второго вызова session.dialogStack().
function dialogStack(newStack?: IDialogState[])
Параметры
- newStack
(Необязательно) стек диалогов для назначения сеансу. Сеансы dialogData будут обновлены, чтобы отразить состояние нового активного диалогового окна.
Возвращаемое значение
dispatch(ISessionState, IMessage, Function)
Завершает инициализацию объекта сеанса, а затем направляет сеанс по всем установленным ПО промежуточного слоя. Переданная в next() функция будет вызываться в качестве последнего шага цепочки ПО промежуточного слоя.
function dispatch(sessionState: ISessionState, message: IMessage, next: Function)
Параметры
- sessionState
- ISessionState
Текущее состояние сеанса. Если null будет запущена новая беседа, начиная с настроенного dialogId.
- message
- IMessage
Сообщение для маршрутизации через ПО промежуточного слоя.
- next
-
Function
Функция, вызываемая в качестве последнего шага цепочки по промежуточного слоя.
Возвращаемое значение
endConversation(TextOrMessageType, any[])
Завершает текущую беседу и при необходимости отправляет пользователю сообщение.
function endConversation(message?: TextOrMessageType, args: any[])
Параметры
- message
- TextOrMessageType
(Необязательно) текст и сообщение для отправки пользователю перед завершением беседы.
- args
-
any[]
(Необязательно) аргументы, используемые для форматирования окончательного выходного текста, если сообщения
Возвращаемое значение
endDialog(TextOrMessageType, any[])
Заканчивает текущее диалоговое окно и при необходимости отправляет пользователю сообщение. Родитель будет возобновлен с IDialogResult.resumed причиной завершения .
function endDialog(message?: TextOrMessageType, args: any[])
Параметры
- message
- TextOrMessageType
(Необязательно) текст и сообщение для отправки пользователю перед завершением диалогового окна.
- args
-
any[]
(Необязательно) аргументы, используемые для форматирования окончательного выходного текста, если сообщения
Возвращаемое значение
endDialogWithResult(IDialogResult<any>)
Заканчивает текущий диалог и при необходимости возвращает результат родительскому элементу диалогов.
function endDialogWithResult(result?: IDialogResult<any>)
Параметры
- result
-
IDialogResult<any>
(Необязательно) результат для отправки пользователя. Возвращаемое значение должно находиться в поле ответа.
Возвращаемое значение
error(Error)
Сигнализирует об ошибке. Бот будет сигнализировать об ошибке с помощью события on('error', err).
function error(err: Error)
Параметры
- err
-
Error
Произошла ошибка.
Возвращаемое значение
findDialogStackEntry(IDialogState[], string, boolean)
Выполняет поиск стека диалогов для определенного диалогового окна в направлении вперед или обратного направления, возвращая его индекс.
static function findDialogStackEntry(stack: IDialogState[], dialogId: string, reverse?: boolean)
Параметры
- stack
Стек диалогов для поиска.
- dialogId
-
string
Уникальный идентификатор диалогового окна в <namespace>:<dialog> формате для поиска.
- reverse
-
boolean
(Необязательно) если значение true стек будет выполняться в начале активного диалогового окна и работает до корня.
Возвращаемое значение
number
forEachDialogStackEntry(IDialogState[], boolean, (entry: IDialogState, index: number) => void)
Перечисляет все записи диалоговых окон стека в направлении вперед или в обратном направлении.
static function forEachDialogStackEntry(stack: IDialogState[], reverse: boolean, fn: (entry: IDialogState, index: number) => void)
Параметры
- stack
Стек диалогов для перечисления.
- reverse
-
boolean
Если значение true, записи будут перечисляться начиная с активного диалогового окна и работы с корневым диалогом.
- fn
-
(entry: IDialogState, index: number) => void
Функция для вызова каждой записи в стеке.
gettext(string, any[])
Загружает локализованную строку для языка сообщений. Если аргументы передают локализованную строку, она будет рассматриваться как шаблон и отформатирована с помощью sprintf-js (дополнительные сведения см. в их документации.)
function gettext(msgid: string, args: any[])
Параметры
- msgid
-
string
Строка для использования в качестве ключа в локализованной строковой таблице. Как правило, это будет только английская версия строки.
- args
-
any[]
(Необязательно) аргументы, используемые для форматирования конечной выходной строки.
Возвращаемое значение
string
isReset()
Возвращает значение true, если сеанс был сброшен.
function isReset()
Возвращаемое значение
boolean
messageSent()
Возвращает значение true, если сообщение отправлено для этого сеанса.
function messageSent()
Возвращаемое значение
boolean
ngettext(string, string, number)
Загружает форму множественного числа локализованной строки для языка сообщений. Выходная строка будет отформатирована, чтобы включить количество, заменив %d в строке числом.
function ngettext(msgid: string, msgid_plural: string, count: number)
Параметры
- msgid
-
string
Сингулярная форма строки, используемая в качестве ключа в локализованной строковой таблице. Используйте %d, чтобы указать, где должно идти число.
- msgid_plural
-
string
Многообразная форма строки, которая будет использоваться в качестве ключа в локализованной строковой таблице. Используйте %d, чтобы указать, где должно идти число.
- count
-
number
Число, используемое при определении того, следует ли использовать форму единственного или множественного числа строки.
Возвращаемое значение
string
on(string, (data: any) => void)
Регистрирует прослушиватель событий.
function on(event: string, listener: (data: any) => void)
Параметры
- event
-
string
Имя события. Типы событий:
-
ошибка: произошла ошибка. Передает объект javaScript
Error.
- listener
-
(data: any) => void
Функция для вызова.
popDialogStackEntry(IDialogState[])
Выводит активное диалоговое окно из стека и возвращает новый, если стек не пуст.
static function popDialogStackEntry(stack: IDialogState[])
Параметры
- stack
Стек диалогов для обновления.
Возвращаемое значение
preferredLocale(string, (err: Error) => void)
Возвращает предпочтительный языковой стандарт при отсутствии параметров, в противном случае задает предпочтительный языковой стандарт.
function preferredLocale(locale?: string, callback?: (err: Error) => void)
Параметры
- locale
-
string
(Необязательно) языковой стандарт, используемый для локализации сообщений.
- callback
-
(err: Error) => void
Функция (необязательно) вызывается при загрузке таблицы локализации для предоставленного языкового стандарта.
Возвращаемое значение
string
pruneDialogStack(IDialogState[], number)
Удаляет все записи стека диалогов, начиная с указанного индекса, и возвращает новое активное диалоговое окно.
static function pruneDialogStack(stack: IDialogState[], start: number)
Параметры
- stack
Стек диалогов для обновления.
- start
-
number
Индекс первого элемента для удаления.
Возвращаемое значение
pushDialogStackEntry(IDialogState[], IDialogState)
Отправляет новый диалог в стек и возвращает его в качестве активного диалогового окна.
static function pushDialogStackEntry(stack: IDialogState[], entry: IDialogState)
Параметры
- stack
Стек диалогов для обновления.
- entry
- IDialogState
Запись диалогового окна для отправки в стек.
Возвращаемое значение
replaceDialog<T>(string, T)
Заканчивает текущее диалоговое окно и запускает новый его место. Родительское диалоговое окно не будет возобновлено, пока не завершится новое диалоговое окно.
function replaceDialog<T>(id: string, args?: T)
Параметры
- id
-
string
Уникальный идентификатор диалогового окна для запуска.
- args
-
T
(Необязательно) аргументы для передачи в диалоговые окна метода begin().
Возвращаемое значение
reset(string, any)
Очищает сеансы, вызывающие вызовы, и перезапускает беседу с настроенным диалоговым идентификатором.
function reset(dialogId?: string, dialogArgs?: any)
Параметры
- dialogId
-
string
(Необязательно) Идентификатор запускаемого диалогового окна.
- dialogArgs
-
any
(Необязательно) аргументы для передачи в диалоговые окна метода begin().
Возвращаемое значение
routeToActiveDialog(IRecognizeResult)
Отправляет сеанс в активное диалоговое окно или диалоговое окно по умолчанию для обработки.
function routeToActiveDialog(recognizeResult?: IRecognizeResult)
Параметры
- recognizeResult
- IRecognizeResult
(Необязательно) результаты, возвращаемые из вызова Library.findRoutes(), Library.findActiveDialogRoutes(), * или Dialog.recognize().
save()
Активирует сохранение изменений, внесенных в dialogData, userData, conversationdataили [privateConversationData'(#privateconversationdata).
function save()
Возвращаемое значение
say(TextType, IMessageOptions)
function say(text: TextType, options?: IMessageOptions)
Параметры
- text
- TextType
- options
- IMessageOptions
Возвращаемое значение
say(TextType, TextType, IMessageOptions)
Отправляет пользователю текст и необязательный SSML.
function say(text: TextType, speak?: TextType, options?: IMessageOptions)
Параметры
- text
- TextType
Текст для отправки пользователю. Это может быть null для отправки только SSML или вложений.
- speak
- TextType
(Необязательно) сообщение, которое должно быть произнесено пользователю. Сообщение должно быть отформатировано как язык разметки синтеза речи (SSML). Если массив передается, ответ будет выбран случайным образом.
- options
- IMessageOptions
(Необязательно) свойства, которые должны быть включены в исходящее сообщение.
Возвращаемое значение
sayLocalized(string, TextType, TextType, IMessageOptions)
Отправляет текст и необязательный SSML- сообщение пользователю с помощью определенного пространства имен локализации.
function sayLocalized(libraryNamespace: string, text: TextType, speak?: TextType, options?: IMessageOptions)
Параметры
- libraryNamespace
-
string
Пространство имен, используемое для локализации сообщения.
- text
- TextType
Текст для отправки пользователю. Это может быть null для отправки только SSML или вложений.
- speak
- TextType
(Необязательно) сообщение, которое должно быть произнесено пользователю. Сообщение должно быть отформатировано как язык разметки синтеза речи (SSML). Если массив передается, ответ будет выбран случайным образом.
- options
- IMessageOptions
(Необязательно) свойства, которые должны быть включены в исходящее сообщение.
Возвращаемое значение
send(TextOrMessageType, any[])
Отправляет пользователю сообщение.
function send(message: TextOrMessageType, args: any[])
Параметры
- message
- TextOrMessageType
Текст или сообщение для отправки пользователю. Если массив передается, ответ будет выбран случайным образом.
- args
-
any[]
(Необязательно) аргументы, используемые для форматирования окончательного выходного текста, если сообщения
Возвращаемое значение
sendBatch((err: Error, addresses?: IAddress[]) => void)
Немедленно завершает текущий пакет и отправляет все сообщения в очереди.
function sendBatch(done?: (err: Error, addresses?: IAddress[]) => void)
Параметры
- done
-
(err: Error, addresses?: IAddress[]) => void
(Необязательно) функция вызывается, когда пакет был успешно удален или завершился сбоем по какой-либо причине.
sendLocalized(string, TextOrMessageType, any[])
Отправляет пользователю сообщение с помощью определенного пространства имен локализации.
function sendLocalized(libraryNamespace: string, message: TextOrMessageType, args: any[])
Параметры
- libraryNamespace
-
string
Пространство имен, используемое для локализации сообщения.
- message
- TextOrMessageType
Текст или сообщение для отправки пользователю.
- args
-
any[]
(Необязательно) аргументы, используемые для форматирования окончательного выходного текста, если сообщения
Возвращаемое значение
sendTyping()
Отправляет пользователю указание на ввод бота. Для длительных операций это должно вызываться каждые несколько секунд.
function sendTyping()
Возвращаемое значение
toRecognizeContext()
Возвращает объект сеанса в качестве объекта контекста только для чтения.
function toRecognizeContext()
Возвращаемое значение
validateDialogStack(IDialogState[], Library)
Гарантирует, что все записи в стеке диалоговых окон ссылаются на допустимые диалоговые окна в иерархии библиотеки.
static function validateDialogStack(stack: IDialogState[], root: Library)
Параметры
- stack
Стек диалогов для проверки.
- root
- Library
Корневой каталог иерархии библиотеки, как правило, бот.
Возвращаемое значение
boolean
watch(string, boolean)
Включает или отключает часы для текущего сеанса.
function watch(variable: string, enable?: boolean)
Параметры
- variable
-
string
Имя переменной для просмотра или отмены проверки.
- enable
-
boolean
(Необязательно) Если значение true, то переменная будет отслеживаться, в противном случае она будет неосторожна. Значение по умолчанию — true.
Возвращаемое значение
watchable(string, IWatchableHandler)
Добавляет или извлекает переменную, которую можно просмотреть.
static function watchable(variable: string, handler?: IWatchableHandler)
Параметры
- variable
-
string
Имя переменной, которую можно просмотреть. Регистр используется только для отображения.
- handler
- IWatchableHandler
(Необязательно) Функция, используемая для получения текущего значения переменных. Если указан новый обработчик, будет зарегистрирован, в противном случае будет извлечен существующий обработчик.
Возвращаемое значение
watchableList()
Возвращает список отслеживаемых переменных.
static function watchableList()
Возвращаемое значение
string[]
watchList()
Возвращает текущий список отслеживаемых переменных для сеанса.
function watchList()
Возвращаемое значение
string[]