Перейти к основному содержимому

theme

Декларативный тег theme объявляет тему в сценарии бота. Темы служат для группировки стейтов сценария, которые каким-либо образом связаны между собой.

подсказка
Темы никак не связаны с возможностью разделять код на несколько файлов сценариев. Любая тема может быть объявлена в любом файле с расширением .sc, а в одном файле может быть сколько угодно тем.

Значение

После тега записывается название темы. Оно всегда должно начинаться с / и может содержать любые символы Unicode. Тема, состоящая только из символа /, называется корневой.

Вложенные данные

На уровне вложенности, следующем после объявления темы, можно создавать стейты — состояния, в которых может находиться контекст диалога. Для этого используется тег state.

Примеры использования

  • Корневая тема:

    theme: /

    state: Start
    q!: $regex</start>
    a: Начнём.
  • Темы для группировки общих стейтов:

    theme: /FAQ

    state: WorkingHours
    state: ContactPhone

    theme: /Offtopic

    state: WhatIsYourName
    state: WhoMadeYou