Блок «Проверка подписки»

Блок проверяет, состоит ли пользователь в указанном Telegram-канале или группе, и в зависимости от результата направляет его по одной из двух веток — «Да» (подписан) или «Нет» (не подписан).

Это самый частый способ собрать «подписной шлюз»: показать контент, бонус или продолжить воронку только тем, кто подписался на ваш канал. Блок работает только для Telegram-ботов — для других платформ (Instagram, VK, MAX) проверка всегда вернёт «Не подписан».

Когда использовать

  • Подписной шлюз перед бонусом, скидкой или закрытым контентом («подпишись на канал — получи гайд»)
  • Геймификация: проверка условия участия перед розыгрышем или конкурсом
  • Допуск к платным или закрытым воронкам только для подписчиков
  • Периодическая проверка, что пользователь не отписался, прежде чем слать ему контент

Настройки

  • ID канала или @username — какой канал/группу проверять. Для публичных каналов укажите `@username`, для приватных — числовой ID вида `-100XXXXXXXXXX`. Это единственное обязательное поле: если оставить пустым, проверка вернёт «Не подписан».
  • Название канала (для подписи на схеме) — необязательная подпись, нужна только для читаемости схемы в редакторе. На логику не влияет.
  • Результат проверки — две ветки, которые вы соединяете с нужными блоками: зелёная «Подписан» (ветка «Да») и красная «Не подписан» (ветка «Нет»). Это не поля ввода, а точки выхода блока.

Как работает

Блок дёргает Telegram API `getChatMember` для пары «канал + пользователь» и смотрит на статус участника:

  • Статусы `creator`, `administrator`, `member`, `restricted` (в т.ч. с ограничениями, но всё ещё в чате) считаются подписан → ветка «Да» (`trueNextBlockId`).
  • Статусы `left`, `kicked`, а также любая ошибка запроса (нет доступа к каналу, пользователь не найден) считаются не подписан → ветка «Нет» (`falseNextBlockId`).

Важные условия:

  • Если платформа не Telegram или у бота нет токена — блок сразу возвращает «Не подписан», запрос к API не делается.
  • Если поле «ID канала» пустое — тоже сразу «Не подписан».
  • Блок ничего не записывает в переменные клиента — он только выбирает ветку. Результат используется в моменте, для дальнейшей логики стройте ветвление от выходов «Да»/«Нет».

Пример

Подписной шлюз перед выдачей гайда:

1. Блок «Сообщение»: «Подпишись на @mychannel и нажми кнопку „Проверить“». 2. Блок «Проверка подписки»: ID канала `@mychannel`. 3. Ветка «Да» → блок «Сообщение» с ссылкой на гайд и тегом `lead`. 4. Ветка «Нет» → блок «Сообщение»: «Пока не вижу подписки. Подпишись и нажми ещё раз» → возврат к шагу 2.

Частые ошибки

  • Бот не админ в канале. Чтобы Telegram отдал статус участника, бот должен быть администратором проверяемого канала/группы. Без прав API вернёт ошибку, и блок отправит всех по ветке «Не подписан».
  • Не-Telegram платформа. Для Instagram, VK и MAX проверка всегда даёт «Не подписан» — блок рассчитан только на Telegram. Не ставьте его в кросс-платформенных воронках без отдельной проверки платформы.
  • Неверный формат ID. Приватный канал по `@username` не найдётся — используйте числовой `-100XXXXXXXXXX`. Пустое поле «ID канала» молча уводит всех в ветку «Нет».