Блок «Проверка подписки»
Блок проверяет, состоит ли пользователь в указанном 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 канала» молча уводит всех в ветку «Нет».