theme
Декларативный тег theme
объявляет тему в сценарии бота.
Темы служат для группировки стейтов сценария, которые каким-либо образом связаны между собой.
подсказка
Темы никак не связаны с возможностью разделять код на несколько файлов сценариев.
Любая тема может быть объявлена в любом файле с расширением
.sc
, а в одном файле может быть сколько угодно тем.Значение
После тега записывается название темы.
Оно всегда должно начинаться с /
и может содержать любые символы Unicode.
Тема, состоящая только из символа /
, называется корневой.
Вложенные данные
На уровне вложенности, следующем после объявления темы, можно создавать стейты — состояния, в которых может находиться контекст диалога.
Для этого используется тег state
.
Примеры использования
-
Корневая тема:
theme: /
state: Start
q!: $regex</start>
a: Начнём. -
Темы для группировки общих стейтов:
theme: /FAQ
state: WorkingHours
state: ContactPhone
theme: /Offtopic
state: WhatIsYourName
state: WhoMadeYou