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

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

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

Условие

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

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

Вид условия

Тип условия вы указываете сразу после создания условия, после сохранения тип условия изменить нельзя.

1. Обычное услoвие — условие, которое можно вызвать также, как и команду (по названию, переходом, кнопкой и другими способами).

2. Кнопка-услoвие — условие, которое определяет настройки инлайн-кнопки. С данным типом условия можно настроить связь только через действие в инлайн-кнопке - “Кнопка-условие”.

Условие - проверка - действие

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

Проверка — добавьте проверку, чтобы указать что именно бот будет проверять. Например проверку подписки на канал.

Действие — добавьте действие, чтобы указать что бот должен сделать если проверка успешная. Например если подписка на канал найдена.

Исключающее правило

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

Например, подписки на канал не найдено. Или что делать боту, если ни одна из проверок не была положительной, в этом случае выполняется Исключающее правило.


Проверка

Условие - проверки

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

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

Список доступных проверок:

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

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

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

Действие

Условие - действия

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

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

Список доступных действий:

  • Конструктор:
    • Отправить команду или условие
    • Переход к мини-приложению
    • Отправить случайную команду из группы команд
       
  • Модерация:
    • Изменить категорию
    • Действие в ресурсах (в группах и каналах)
      • Удалить пользователя
      • Заблокировать пользователя
      • Разблокировать пользователя
      • Принять заявку на вступление
      • Отклонить заявку на вступление
    • Заблокировать пользователя (в боте)
       
  • Сценарии:
    • Изменить сценарии (запуск или остановка)
       
  • Магазин:
    • Очистить корзину
  • Платежи:
    • Отключить рекуррентный платеж
       
  • Диалоги:
    • Действия с диалогом (Начать или завершить диалог)
       
  • Переменные:
    • Изменить переменную
    • Очистить переменную
       
  • Триггеры:
    • Отправить триггеры
       
  • Статистика:
    • Очистить статистику
       
  • Google Sheets:
    • Создать строку
    • Обновить строку
    • Очистить строку
    • Удалить строку
    • Создать лист
    • Удалить лист
  • NocoDB:
    • Создать строку
    • Обновить строку
    • Очистить строку
    • Удалить строку
  • Битрикс24:
    • Действие с лидом
      • Создать лид
      • Изменить статус лида
      • Изменить поля лида
      • Удалить лид
    • Действия со сделкой
      • Создать сделку
      • Изменить этап сделки
      • Изменить поля сделки
      • Удалить сделку
    • Действие с контактом
      • Создать контакт
      • Удалить контакт
  • AmoCRM:
    • Действие с лидом
      • Создать лид
      • Изменить статус лида
      • Изменить поля лида
    • Действие с контактом
      • Создать контакт
  • Другое:
    • Поставить реакцию
    • Отправить уведомление
    • Удалить сообщение пользователя
    • Открепить все сообщения
    • Отправить запрос
    • Без действия

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

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

Главное функциональное отличие кнопки-условия от обычного условия в том, что проверка в ней выполняется до отправки команды с кнопкой: до отправки система определяет название кнопки и её действие по заданным правилам, и пользователю сразу показывается уже готовая кнопка с соответствующим поведением. В обычном же условии проверка и выполнение действия происходят только после нажатия кнопки.

Так же Кнопка-условие в основном используется для того, чтобы создать видимость/исчезновения кнопки или название кнопки в зависимости от условия, во всем остальном все функции будут такие же как и при создании обычного условия.

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



Создание кнопки-услoвия

Создание кнопки услови

Создайте условие и выберите Кнопка-условие, далее нажмите Применить.

Действия  кнопки условия

Задайте необходимые проверки и действия для кнопки-условия.

В отличии от условия дополнительно имеется:
- Настройка названия кнопки, для тех случаев, если название должно меняться в зависимости от результата проверки.
- Действие - Скрыть кнопку, чтобы создать исчезновение кнопки.

После создания всех проверок сохраните кнопку-условие нажав на пустую область в конструкторе.

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

Далее выберите любую команду или создайте новую, в которой вы хотите добавить кнопку-условие.

Создайте блок, например текстовый блок, как на примере, или любой другой блок, где есть возможность добавить "Инлайн клавиатуру"

Действие - кнопка условие

После того как вы выбрали Инлайн клавиатуру, в настройках кнопки выберите действие "Кнопка-условие" → укажите название созданной кнопки-условия → сохраните.

Связка кнопка условие и клавиатура

После сохранения у вас появится связь инлайн клавиатуры с кнопкой-условием.

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


b6d38b7ab4147c2f3a7d2471188f681d.png

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