В данной статье мы разберем как настраивать Синонимы и для чего они нужны.



Синонимы — расширенная функция команды, которая позволяет задавать альтернативные фразы или условия для вызова определенной команды.


Например: настроить Синоним с фразой-условием «Привет» для срабатывания команды /start.



В каждом синониме можно задать множество (в зависимости от тарифа) групп условий, которые разделены полоской с союзом «И», это означает, что данный синоним сработает только при наличии в сообщении всех условий.



Внутри условия можно добавить множество (в зависимости от тарифа) фраз. Синоним сработает при наличии в сообщении только одной фразы из всех перечисленных.


Типы условий:

  • Полное совпадение — при данном типе синоним сработает, только если сообщение отправленное пользователем полностью соответствует указанной фразой-условия в синониме.
    Пример: указав фразу «Привет», синоним будет срабатывать, если пользователь отправит: «Привет», но синоним не будет срабатывать, если пользователь отправит: «О, привет друг!», «Ну привет», «Приветик» и так далее. В данном случае проверяется сообщение полностью.


  • Частичное совпадение — при данном типе синоним сработает, если сообщение и/или фраза в нем частично соответствует фразе-условию.
    Пример: указав фразу «Прив», синоним будет срабатывать, если пользователь отправит: «Привет», «Приветик», «О, привет друг!», «Ну привет», но синоним не будет срабатывать, если пользователь отправит: «Здравствуй», «Рад видеть». В данном случае проверяется каждая фраза по отдельности на наличие фразы-условия.


  • Сообщение начинается — при данном типе синоним сработает, если сообщение начинается с заданной фразы-условия.
    Пример: указав фразу «Привет», синоним будет срабатывать, если пользователь отправит: «Привет», «Привет, рад видеть», но синоним не будет срабатывать, если пользователь отправит: «О, привет друг!», «Ну привет». В данном случае проверяется слово или фраза в начале сообщения на наличие фразы-условия.


  • Сообщение заканчивается — при данном типе синоним сработает, если сообщение заканчивается на заданную фразу-условие.
    Пример: указав фразу «Привет», синоним будет срабатывать, если пользователь отправит: «Привет», «О, привет друг!», «Ну привет», но синоним не будет срабатывать, если пользователь отправит: «Привет, рад видеть». В данном случае проверяется слово или фраза в конце сообщения на наличие фразы-условия.


  • Регулярное выражение — особый тип условия, который позволяет проверять сообщения пользователя по определенному шаблону. Подробнее о регулярных выражениях.
    Пример: указав регулярное выражение «^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$», синоним будет срабатывать, если пользователь пришлет номер телефона.


  • Длина сообщения меньше — при данном типе синоним сработает, если сообщение содержит символов меньше заданного количества.


  • Длина сообщения больше — при данном типе синоним сработает, если сообщение содержит символов больше заданного количества.


Операторы


Для уточнения условия, по которому будет вызвана команда, можно добавить специальные операторы. Операторы состоят из специального символа, который необходимо поставить вначале фразы.


Виды операторов:

  1. Минус-фраза — специальный символ "-", добавляет условие, при котором синоним не сработает, если в нём присутствует указанная фраза.
    Пример: указав фразу «Привет» и минус-фразу «Друг» (в синониме с типом условия Сообщение содержит), синоним будет срабатывать, если пользователь отправит: «Привет», «Привет всем», но не будет срабатывать, если пользователь отправит: «Привет Друг».

Важно! При добавлении только минус-фраз (без других условий) триггер будет срабатывать на все сообщения, в которых нет заданной минус фразы.

      2. Точная-фраза — специальный символ "!", позволяет внутри условия Сообщение содержит вставить фразу, которая будет работать по принципу условия Полное совпадение.

          Пример: указав точную-фразу «Привет» (в синониме с типом условия Сообщение содержит), синоним будет срабатывать, если пользователь отправит: «Привет», но не будет срабатывать, если пользователь отправит: «Приветик».


Важно! Для игнорирования работы оператора необходимо поставить специальный символ дважды "--" или "!!" (для добавления фразы "-Привет" необходимо указать "--Привет"). Для использования оператора в фразе-условия, которое начинается на символ присвоенный оператору — необходимо поставить специальный символ трижды "---" или "!!!" (для добавления минус-фразы "-Привет" необходимо указать "---Привет").


Дополнительные настройки Синонима:

  • Шанс срабатывания — вероятность срабатывания синонима, задается в процентах.
  • Для категории — синоним сработает на пользователях только из выбранных категорий.