Главная · Блог · Проверка подписки на канал ботом: розыгрыш, сценарий и перепроверка на итогах

Проверка подписки на канал ботом: розыгрыш, сценарий и перепроверка на итогах

· Команда ЧБТ · Розыгрыши, Telegram

Чтобы бот ЧБТ проверял подписку на канал, сделайте его администратором канала — права давать не нужно, — добавьте канал в «Каналы для проверки подписки» кнопкой «Добавить и проверить» и включите проверку: в розыгрыше — «Условие: подписка на каналы», в обычном сценарии — «Условие» с полем «Подписка». Бот спрашивает площадку напрямую и получает один из трёх ответов: подписан, не подписан или не удалось проверить; сбой площадки никогда не считается «не подписан». Работает в Telegram, MAX и ВКонтакте, но только в пределах одной площадки.

Как бот узнаёт о подписке

Бот не видит, на что подписан человек. Он задаёт вопрос площадке: «Пользователь такой-то — участник этого канала?» — и получает один из трёх ответов:

  • подписан — площадка подтвердила;
  • не подписан — площадка подтвердила, что нет;
  • не удалось проверить — у бота нет прав, площадка не ответила за 5 секунд, ограничила число запросов или вернула ошибку.

Главное правило ЧБТ: сбой никогда не превращается в «не подписан». Если Telegram временно не ответил, подписчик не будет выкинут из розыгрыша — ответ уйдёт в ветку «не удалось проверить».

Отдельный случай — человек, который ни разу не был в канале. Telegram отвечает на такой вопрос ошибкой «пользователь не найден», и ЧБТ правильно понимает её как «не подписан», а не как сбой.

Что нужно в Telegram, MAX и ВКонтакте

ПлощадкаУсловие
Telegramбот должен быть администратором канала — права можно не давать, но без статуса администратора Telegram не показывает боту подписчиков
ВКонтактепроверка идёт ключом сообщества, подключённого в «Каналах»
MAXбот должен быть администратором канала, канал указывается его chat_id

Проверка работает в пределах одной площадки: подписку Telegram-пользователя можно проверить только на Telegram-канал, участника ВКонтакте — только на сообщество ВКонтакте. Если человек пишет боту в MAX, а канал в Telegram, ответ будет «не удалось проверить».

Как добавить канал для проверки

  1. Подключите бота нужной площадки в «Каналах».
  2. Откройте «Каналы для проверки подписки».
  3. «Добавить из Редакции» — если бот уже публикует в этот канал. Или «Добавить вручную»: в «Канал или сообщество» укажите @channel, -100…, ID сообщества ВКонтакте или chat_id MAX.
  4. В «Бот, которым проверять» выберите бота этой площадки.
  5. Заполните «Ссылка «Подписаться»» — её получит человек, который ещё не подписан.
  6. Нажмите «Добавить и проверить».

У канала появится статус: «Проверка работает» — всё готово, «Нужна настройка» — чаще всего бот ещё не администратор, «Не проверен» — проверку пока не запускали. Каналы спонсоров добавляются так же, с пометкой «Канал спонсора».

Сколько каналов можно проверять

ТарифКаналов для проверки
Бесплатный1
Базовый5
Бизнес20

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

Проверка подписки в розыгрыше

В настройках розыгрыша — «Условие: подписка на каналы»: выберите каналы, на которые нужно подписаться. Когда человек вступает в розыгрыш, блок «Розыгрыш» в сценарии проверяет каждый канал:

  • подписан на все — получает номер участника, выход «Участвует»;
  • не подписан хотя бы на один — получает кнопки «Подписаться» на недостающие каналы и «Проверить снова», выход «Не выполнены условия»;
  • проверить не удалось — те же кнопки, выход «Не удалось проверить».

Человек подписывается, нажимает «Проверить снова» и, если всё в порядке, сразу получает номер. В отчёте розыгрыша видно, сколько людей подписались именно через розыгрыш — тех, кого бот сначала видел неподписанным. Как провести розыгрыш целиком — в статье о розыгрыше в Telegram.

Перепроверка на итогах

Частая хитрость участников — подписаться, получить номер и сразу отписаться. Поэтому перед выбором победителей ЧБТ проверяет подписку ещё раз. В настройке «Перепроверка подписки на итогах» два режима:

  • «У всех участников» — честнее всего, но на больших розыгрышах в Telegram занимает время: Telegram проверяет по одному человеку;
  • «Только у победителей и резерва» — быстрее: проверяются только те, кто выпал при выборе.

Кто не подписан на момент итогов, приз не получает — в отчёте будет причина «не подписан на … на момент итогов». Тех, чью подписку на итогах проверить не удалось, ЧБТ не исключает молча, а помечает «подписку не удалось проверить» — решение остаётся за вами.

Перепроверку стоит сочетать с правилом в условиях розыгрыша: «подписка должна сохраняться до объявления итогов». Тогда исключение отписавшихся не выглядит придиркой — участники знали условие заранее. Как написать такие правила, разобрано в статье о правилах розыгрыша.

Проверка подписки в обычном сценарии

Проверка работает не только в розыгрышах. В блоке «Условие» есть поле «Подписка»: выберите канал в «Проверять подписку на канал» и «Статус подписки» — «подписан», «не подписан» или «не удалось проверить».

Быстрее всего — кнопкой «Ветки по подписке: подписан / не подписан»: она заменит ветки условия на две готовые. «Иначе» сработает, когда подписку не удалось проверить: бот не администратор канала или площадка не ответила.

Лид-магнит за подписку: честная схема

Схема лид-магнита с настоящей проверкой вместо кнопки «Я подписался»:

  1. Пост в канале или реклама ведут в бота по ссылке с меткой, чтобы был виден источник.
  2. Бот коротко говорит, что получит человек, и присылает кнопку «Подписаться» на канал.
  3. «Условие» с ветками по подписке: «Подписан» — материал и тег подписчик-канала, «Не подписан» — снова ссылка на канал и кнопка «Проверить снова», которая ведёт к тому же «Условию».
  4. «Иначе» — материал всё равно и тег подписка-не-проверена: не стоит наказывать человека за сбой площадки.

Через месяц по тегам видно, сколько людей пришло в канал через бота. А серия сообщений после выдачи материала превращает подписчика в клиента. Готовая заготовка сценария — на странице о лид-магните за подписку.

Старое правило «Подписка» без канала

В ботах, собранных до появления проверки, может встретиться правило «Подписка» без выбранного канала. Оно ничего не проверяет и всегда даёт «да» — так было раньше, и ЧБТ сохранил это поведение, чтобы не поменять ветки работающих ботов.

Редактор такое правило подсвечивает: «Это правило «Подписка» ничего не проверяет и всегда даёт «да». Выберите канал и что проверить — тогда бот спросит площадку». Откройте условие, выберите канал из списка — и проверка заработает по-настоящему.

Где проверка не работает

  • Чужой канал без вашего бота-администратора. Telegram не показывает подписчиков канала тому, кто не администратор. Спонсоров нужно попросить добавить вашего бота администратором — права можно не давать.
  • Разные площадки. Подписку пользователя Telegram на сообщество ВКонтакте проверить нельзя.
  • Тест-чат редактора. Он работает как чат на сайте, поэтому «Подписка» в нём всегда «не удалось проверить», а блок «Розыгрыш» пропускает проверку. Проверяйте из настоящего мессенджера.
  • Удалённый или переименованный канал. Если канал удалили или бота убрали из администраторов, ответы станут «не удалось проверить». Нажмите «Проверить» у канала в списке — статус покажет, работает ли проверка сейчас.

Как проверить, что всё работает

  1. В «Каналах для проверки подписки» у канала статус «Проверка работает».
  2. С телефона, где вы не подписаны на канал, напишите боту и пройдите сценарий — должна прийти ветка «не подписан» с кнопкой подписки.
  3. Подпишитесь и нажмите «Проверить снова» — должна сработать ветка «подписан».
  4. Отпишитесь и снова пройдите проверку — бот должен это заметить.
  5. Если везде приходит «не удалось проверить», проверьте, что бот — администратор канала и что вы пишете с той же площадки, где канал.

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

  • Бот не администратор. Самая частая причина «не удалось проверить» в Telegram и MAX.
  • Пустая ветка «Иначе». При сбое площадки человек остаётся без ответа. Ведите «Иначе» к понятному сообщению или оператору.
  • Проверка только при входе. Без перепроверки на итогах отписавшиеся участники могут выиграть.
  • Спонсорский канал без бота. Подписку на него не проверить — договоритесь со спонсором заранее.
  • Тест только в тест-чате. Там проверка не идёт — проверяйте из мессенджера.

Ещё в блоге