Базовые элементы паттернов
*
* — любая последовательность символов произвольной длины, возможно пустое поле.
Использование в сценарии
state: catchAll
q!: *
a: Я Вас не понял.state: start
q!: *
a: Начинаем работу!
go!: /SecondStepслово
слово — указанное слово: проверяет полное посимвольное соответствие слова и его позицию во фразе.
Использование в сценарии
state:
q!: привет
a: Привет! Как дела?* корень *
*корень* — стемма: проверяет наличие в слове заданного текста.
Звёздочки могут находиться:
- В начале, обозначает вариативный префикс: в паттерн
*ходпопадут словавход,выход,ход. - В конце, обозначает вариативный суффикс: в паттерн
ход*попадут словаходить,ходунки,ход. - В начале и конце, обозначает вариативные префикс и суффикс: в паттерн
*ход*попадут словавыходить,ход.
Использование в сценарии
state:
q: * *подроб* * //будет ловить: поподробнее, подробности, подробнее
a: Подробнее на сайте example.cn(слово1|слово2|или целая фраза)
(слово1|слово2|или целая фраза) — альтернативы: проверяет наличие одного из альтернативных вариантов правила.
Варианты разделяются |. Внутри каждого из них могут содержаться любые другие вложенные элементы паттерна.
Варианты можно разделать также /.
Использование в сценарии
state:
q: (привет | добр* (утро/день/вечер) | здравствуй* )
a: Привет-привет![опциональное слово|или другая фраза]
[опциональное слово|или другая фраза] — опции: приведенные в квадратных скобках элементы не являются обязательными.
У паттерна увеличивается вес, если правило сработало.
Внутри опций поддерживаются альтернативы.
Использование в сценарии
state: How many players
q: * {(сколько|как много|насколько много) (игроков|плееров|человек) [могут] [играть]} *
q: * [игра] для одного * [или] [нескольких] *
q: * {([игра]|в игре) [есть] (мультиплеер*|многопользовательск* [режим]|для нескольких пользовател*)} *
a: Это приключение для одного. {слово1 слово2 (1|2)}
{слово1 слово2 (1|2)} — перестановки: проверяется соответствие заданных правил в любой последовательности.
Правила, которые могут быть перемешаны, разделяются пробелом.
Каждое правило может быть любым другим элементом паттерна с любой степенью вложенности.
В перестановках используйте не более 5-6 правил.
Использование в сценарии
state: How much gameplay
q: * {(сколько|(как|насколько) много|много) геймпле*} *
q: * {[насколько] (большая|велика) [ли] [эта] [игра]} *
a: Сюжет игры занял 2 тысячи страниц сценария!