Условия (обычное условие и кнопка-условие)

В данной статье разберём возможности сущности Условия и её подтипов: Обычное условие и Кнопка-условие.

В данной статье разберём возможности сущности Условия и её подтипов: Обычное условие и Кнопка-условие.

5183ccaddb9674d4d709e4288ca44852.png

Условие — отдельная сущность наравне с Командами. Условие состоит из Правил, которые в свою очередь состоят из Проверок и Действий. При вызове Условия всегда будет выполнено только одно из Правил. Условие может быть двух типов: Обычное условие и Кнопка-условие.

ae50c722c8c8d45d6b6b2faa6560c13c.png

1. Обычное условиеусловие, которое можно вызвать также, как и команду (по названию, переходом, кнопкой и другими способами).
2. Кнопка-условиеусловие, которое определяет настройки инлайн-кнопки. С данным типом условия можно настроить связь только через действие в инлайн-кнопкеКнопка-условие”.

650e13ffd5d1b339585a226b49d6600a.png

Правило — блок в Условиях, содержащий Проверки и Действия.

e2a593e6c1725aa22f732c50957e418a.png

Исключающее правило — последнее Правило в Условии, состоящее только из Действий, применяется в случае, когда все предшествующие Правила не прошли Проверки.

dd85ceed56c5e017d79204f243d34dba.png

Проверка — набор параметров, на наличие которых проверяется пользователь вызвавший Условие. Имеет два типа: 

1. Все проверкиДействия из Правила будут выполнены, только при прохождении всех Проверок 
2. Любая проверкаДействия из Правила будут выполнены, при прохождении одной любой Проверки.

Проверки:

  • Конструктор:
    • Вызов команды или условия
    • Наличие ответа на Формы ввода
    • Результат тестирования в Формах ввода
    • Оплаченные платежи
    • Сумма оплаченных платежей
       
  • Модерация:
    • Наличие категорий
    • Наличие подписки
    • Блокировка в ресурсе
       
  • Сценарии:
    • Запущенные сценарии
    • Количество запусков сценариев
       
  • Магазин:
    • Куплены товары
    • Сумма покупок
    • Количество заказов
       
  • Вход:
    • Переход по ссылкам
       
  • Триггеры:
    • Получены триггеры
       
  • Диалоги:
    • Активный диалог
       
  • Переменные:
    • Значение переменной
       
  • Google Sheets:
    • Проверить строку
       
  • Другое:
    • Дата и время
    • Без проверки

Для некоторых проверок можно задать дополнительные опции:

  • Задать количество — проверяет сколько раз была выполнена функция, например: “Вызов команды или условия” без опции “Задать количество” проверяет был ли вызов хотя бы 1 раз, если включить “Задать количество” и указать “больше или равно 3”, то  проверка будет пройдена только, если пользователь вызвал выбранные команды 3 и более раз.
     
  • Задать период — проверяет была ли выполнена функция в указанный промежуток. Типы промежутков:
    • Количественный период — определяет промежуток относительно текущего часа, дня и месяца, например: Если сегодня 10 января, а выбран тип “Количество дней” со значением "5", то выполнение функции будет проверяться с 5 января 00:00 по 10 января 23:59. Каждый последующий день промежуток будет смещаться относительно текущего дня.
       
    • Датированный период — точный промежуток.
       
    • Календарный период — промежуток относительно календарных значений: Сегодня, Текущая неделя, Текущий месяц и так далее. Каждый последующий день промежуток будет смещаться относительно текущего дня, недели, месяца и так далее.
       
  • Проверить другого пользователя — позволяет выполнить проверку на основе данных другого пользователя (по Telegram ID или @username).
a17e26ea4f1391ae3897191e0e3a6956.png

Действие — набор функций, которые будут выполнены для пользователя вызвавшего Условие. Имеет два типа:

1. Все действия — каждое действие будет выполнено по очерёдно.
2. Случайное действие — будет выполнено одно случайное Действие. Можно задать вероятность выполнения каждого Действия.

Действия:

  • Конструктор:
    • Отправить команду или условие
    • Отправить случайную команду из группы команд
       
  • Модерация:
    • Изменить категорию
    • Действие в ресурсах
       
  • Сценарии:
    • Изменить сценарии
       
  • Магазин:
    • Очистить корзину
       
  • Диалоги:
    • Действия с диалогом
       
  • Переменные:
    • Изменить переменную
    • Очистить переменную
       
  • Триггеры:
    • Отправить триггеры
       
  • Статистика:
    • Очистить статистику
       
  • Google Sheets:
    • Создать строку
    • Обновить строку
    • Очистить строку
    • Удалить строку
    • Создать лист
    • Удалить лист
       
  • Другое:
    • Удалить обычную клавиатуру
    • Отправить уведомление
    • Удалить сообщение пользователя
    • Открепить все сообщения
    • Отправить запрос
    • Без действия

 

Кнопка-условие

Разберём отличия типа Кнопки-условия от типа Обычное условие.

ebc2d7d5aa4d8ad5714674c29c7fb5b2.png

Кнопку-условие можно вызвать только нажатием на инлайн-кнопку. 

Важно! В настройках инлайн-кнопки с действиемКнопка-условиенельзя задать название, потому что название задаётся в настройках “Кнопки-условия отдельно для каждого Правила.

c0782dbde7bfdd709c145f7c49764757.png

Для создания связи с Кнопкой-условия создайте инлайн-клавиатуру в любой команде, добавьте кнопку, выберите действие для кнопки “Кнопка-условие и укажите название Условия с типом Кнопка-условие (другие типы отображаться не будут).

b6d38b7ab4147c2f3a7d2471188f681d.png

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

Данный тип условия позволяет задать название кнопки и её действие исходя из заданных Правил, то есть до отправки команды содержащей инлайн-клавиатуру и Кнопку-условие — будет происходить проверка, в зависимости от результатов этой проверки пользователю будет отображена кнопка с соответствующим действием, например:

В Условии с типом кнопка-условие задано два правила, первое правило с проверкой на активный сценарий "Сценарий 1", второе правило "исключающее" и оно будет выполнено, если ни одно другое правило не прошло проверки, в конкретном примере исключающее правило будет выполнено при отсутствии пользователя в сценарии "Сценарий 1". 

Для первого правила зададим действие "Ссылка" и название кнопки "Ссылка на ваш подарок", для исключающего правила зададим действие "Переход к команде" и назовём кнопку "Регистрация".

Если пользователь с активным сценарием "Сценарий 1" вызовет команду содержащую инлайн-клавиатуру с кнопкой-условием, то кнопка у него будет называться "Ссылка на ваш подарок" и содержать ссылку, а если вызовет пользователь без сценария "Сценарий 1", то у него на том же месте будет отображена кнопка "Регистрация" и вести к другой команде.