$session

Объект, который хранит данные о сессии пользователя. Данные перезаписываются в начале новой сессии.

Новая сессия создается в сценарии с помощью тега реакций newSession.

Объект $session хранит ограниченное количество данных. При превышении объема текущий сценарий прерывается, смартап перестает отвечать клиенту.

Контекст диалога

Контекст диалога хранится в поле contextPath. Данные поля используются для восстановления контекста при следующем запросе пользователя.

Примеры

Получение текста последнего запроса пользователя:

theme: /

    state: Start
        q!: $regex</start>
        a: Начнём.

    state: Приветствие
        intent!: /привет
        a: Вы сказали {{$session.rawRequest.textRequest.text}}

Получение информации об имени из системной сущности:

require: zenflow.sc
  module = sys.zfl-common

 state: Hello
        q!: * меня зовут $Name *
        script:
            $session.name = $parseTree._Name
        a: Привет, {{ $session.name }}!

Получение идентификатора пользователя:

require: zenflow.sc
  module = sys.zfl-common

theme: /

    state: Fallback
        event!: noMatch
        a: Идентификатор пользователя: {{$session.userId}}
Для получения идентификатора пользователя с помощью переменной $session в проект необходимо подключить библиотеку zfl-common.

Идентификатор пользователя также можно получить из запроса пользователя.

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней