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

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

Условие

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

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

Вид условия

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

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

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

Была ли страница полезна?