Используем cookie — для входа в кабинет и обезличенной статистики. Подробнее
Боты

Бот для платного Telegram-канала: как продавать доступ по подписке и закрывать его автоматически

30 октября 2026·11 мин чтения

Короткий ответ: бот для платного канала принимает оплату, выдаёт покупателю персональную ссылку-приглашение, хранит дату окончания доступа, напоминает о продлении и сам убирает из канала тех, кто не продлил. Если вам хватает ежемесячной цены в Telegram Stars, бот можно не делать: у Telegram есть встроенные платные ссылки-приглашения. Свой бот нужен, когда вы хотите несколько тарифов, пробный период, промокоды, свою базу подписчиков и связь с CRM. До запуска проверьте два вопроса, которые не решает код: правила Telegram для цифровых товаров и кассовые чеки по 54-ФЗ.

Как устроен платный канал с ботом?

Канал делают приватным, бота добавляют в него администратором с правом приглашать и удалять участников. Человек пишет боту, выбирает тариф, платит, бот получает подтверждение оплаты и выдаёт ссылку, по которой можно войти один раз. Дальше бот следит за датой окончания.

Вся работа держится на небольшой базе данных. Минимально в ней четыре сущности:

  • Подписчик — Telegram ID, имя, контакт для чека, согласие на рассылку.
  • Тариф — название, цена, длительность в днях, признак пробного периода.
  • Оплата — сумма, способ, статус от платёжного сервиса, номер чека.
  • Доступ — канал, дата начала, дата окончания, выданная ссылка и её статус.

Ключ во всех таблицах — Telegram ID, а не имя пользователя. Имя (@username) человек может сменить или удалить в любой момент, а ID остаётся постоянным.

Отдельный процесс — планировщик. Раз в несколько минут или раз в час он проходит по базе: кому пора напомнить, у кого закончился доступ, какие выданные ссылки не использованы и их пора отозвать.

Четыре способа пустить оплатившего человека в закрытый канал
СпособКак работаетПлюсРиск
Общая ссылка-приглашениеОдна постоянная ссылка, которую отправляют всем, кто заплатилНичего не нужно программироватьСсылку пересылают друзьям, и в канал попадают люди без оплаты
Ссылка на одного человекаБот создаёт ссылку с лимитом в одного участника и сроком жизниПока покупатель в канале, по ссылке больше никто не войдётЛимит считает одновременных участников: если покупатель выйдет, по неотозванной ссылке войдёт другой; если переслал до входа — войдёт не он
Заявка на вступлениеСсылка требует одобрения, бот одобряет только того, кто платилВход строго по Telegram ID плательщикаНужно хранить, с какого ID пришла оплата, и обрабатывать заявки без задержек
Подписка за StarsВстроенная платная ссылка Telegram: 30 дней доступа за звёздыПродление и списание делает сам TelegramТолько Stars и только месячный период, свою логику скидок не добавить

Как выдавать и отзывать доступ?

Выдавайте каждому покупателю свою ссылку: с лимитом в одного участника и сроком жизни или с заявкой на вступление, которую бот одобряет только для того Telegram ID, с которого пришла оплата. Отзывайте доступ методом, который убирает человека из канала, но не запрещает вернуться после новой оплаты.

Что даёт для этого официальный Bot API на октябрь 2026 года:

  • createChatInviteLink создаёт дополнительную ссылку. Параметр member_limit задаёт, сколько вошедших по ней человек могут одновременно состоять в канале (от 1 до 99 999): если участник выйдет, место освободится, expire_date задаёт момент, когда ссылка перестанет работать. Параметр creates_join_request включает заявки на вступление, и тогда лимит участников указать нельзя: это два разных режима.
  • approveChatJoinRequest одобряет заявку. Бот получает событие о заявке, в котором есть ID пользователя и ссылка, по которой он пришёл, — по ним и проверяется, что входит именно плательщик.
  • revokeChatInviteLink отзывает ссылку. Из-за того что лимит считает одновременных участников, её стоит вызывать сразу после того, как человек вошёл, и по расписанию для ссылок, которыми так и не воспользовались.
  • banChatMember исключает участника и запрещает ему возвращаться по ссылкам, пока его не разбанят. Если указать срок бана больше 366 дней или меньше 30 секунд, Telegram считает его вечным.
  • unbanChatMember по умолчанию гарантирует, что после вызова человек не состоит в канале, но может войти снова. Для истёкшей подписки это удобный вариант: один вызов убирает из канала и не мешает вернуться после продления.

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

Как работают продление и напоминания?

Продление бывает ручным: бот заранее напоминает, человек снова платит, дата окончания сдвигается. И автоматическим: Telegram или платёжный сервис сам списывает плату каждый период. Ручное проще и прозрачнее, автоматическое избавляет подписчика от лишнего шага, но требует отдельного согласия покупателя и поддержки со стороны платёжного сервиса.

Рабочая схема напоминаний для месячной подписки:

  1. За 3 дня — сообщение с датой окончания и кнопкой «Продлить».
  2. За 1 день — повтор с той же кнопкой; здесь уместно предложить тариф на три месяца.
  3. В день окончания — «доступ закрывается сегодня», без давления.
  4. После исключения — одно сообщение с возможностью вернуться. Дальше в личку не пишите: человек решил не продлевать.

Учтите ограничение платформы: бот может написать только тому, кто сам начал с ним диалог и не заблокировал его. Если подписчик остановил бота, отметьте в базе, что напоминания не доставляются, и не повторяйте их каждый час.

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

Два режима, которые часто просят добавить:

  • Пробный период. Выдаётся один раз на Telegram ID, длится 3–7 дней, после него — те же напоминания. Без привязки к ID одни и те же люди берут пробный доступ с новых диалогов снова и снова.
  • Промокоды. У каждого кода — скидка, срок действия, лимит использований и тарифы, к которым он применим. Код проверяется до выставления счёта и попадает в отчёт: так видно, какой партнёр привёл подписчиков.

Какие способы оплаты допустимы для цифрового доступа?

Telegram прямо требует продавать цифровые товары и услуги в ботах и мини-приложениях только за Telegram Stars. Доступ к закрытому контенту канала обычно относят к цифровым услугам. Другие валюты и платёжные сервисы платформа разрешает для физических товаров и услуг. Перед запуском сверьте актуальную редакцию правил.

Что сказано на странице о платежах в Stars на октябрь 2026 года:

  • цифровые товары и услуги внутри приложений Telegram продаются только за Stars, валюта платежа — XTR;
  • правило действует независимо от того, какие сайты, сервисы и платёжные системы вы используете вне Telegram;
  • если для цифровых товаров использовать другие валюты или провайдеров, Telegram может перестать показывать бота пользователям мобильных приложений;
  • возврат за цифровую покупку бот делает методом refundStarPayment.

Для каналов у Telegram есть и готовый вариант: метод createChatSubscriptionInviteLink создаёт платную ссылку-приглашение. Период сейчас фиксирован — 30 дней (2 592 000 секунд), цена — от 1 до 10 000 Stars за период. Telegram сам списывает плату и продлевает доступ, а бот может создавать такие ссылки, если у него есть право приглашать участников.

  • Если аудитория готова платить звёздами и вам достаточно одного месячного тарифа, встроенная подписка закрывает задачу без собственной логики продлений.
  • Если вы хотите рубли и карты, схему выбирают с юристом до разработки: где проходит оплата, что именно вы продаёте (консультацию, курс с сопровождением, доступ к материалам) и как это описано в оферте. Мы честно предупреждаем: готовой схемы «карта в боте за доступ к каналу», которую платформа точно не сочтёт нарушением, нет.
  • Если вы продаёте не только канал, но и физический товар или очную услугу, это отдельные позиции с другими правилами оплаты; о магазине в боте — в статье «Telegram-бот для продаж».

Чеки и учёт

Если организация или ИП принимает оплату картой или через СБП, по общему правилу ст. 1.2 закона 54-ФЗ покупателю нужно выдать электронный чек. Подписка — это повторяющиеся платежи, поэтому чек нужен на каждое продление, а бот должен заранее собрать e-mail или телефон, куда его отправить.

Опорная норма — статья 1.2 54-ФЗ: контрольно-кассовую технику при расчётах применяют организации и ИП, а при расчётах через интернет чек передаётся покупателю в электронной форме. Подробно о кассах, агрегаторах и данных для чека — в статье «Как принимать оплату на сайте»; для бота схема та же.

Что бот должен передавать и хранить для учёта:

Точки проверкиЧеки и учёт
  • контакт для чека — запросите его до первой оплаты и дайте возможность изменить;
  • наименование позиции так, как его согласовал бухгалтер, например «Доступ к закрытому каналу, 30 дней»;
  • признак предмета расчёта и ставку НДС — их выбирает бухгалтер по вашей системе налогообложения;
  • связь «оплата — чек — период доступа», чтобы при возврате было видно, за какие дни возвращать деньги.

С оплатой в Stars ситуация другая: деньги покупателя принимает Telegram, а вы получаете звёзды и выводите их по правилам платформы. Как это отражать в учёте и возникает ли у вас обязанность выдать чек, решает бухгалтер, — общего ответа на все случаи мы не даём.

Не забудьте про документы: оферту с условиями подписки, порядком продления и возврата и политику обработки персональных данных. Бот хранит Telegram ID и контакт для чека — это персональные данные, и согласие на их обработку запрашивается отдельно.

Какие ошибки встречаются чаще всего?

Почти все проблемы платных каналов связаны не с оплатой, а с доступом: ссылка уходит посторонним, бот закрывает доступ не тому человеку или не закрывает его вовсе. Проверьте это в тестовом прогоне.

  • Доступ по факту возврата в бота, а не по подтверждению оплаты. Человек может вернуться со страницы оплаты, не заплатив. Доступ выдаётся только после подтверждения от платёжного сервиса или события успешного платежа в Telegram.
  • Повторная выдача при двойном нажатии. Один платёж — одна ссылка; повторное уведомление о том же платеже не должно создавать вторую.
  • Бан вместо исключения. После banChatMember человек не вернётся даже после оплаты, пока его не разбанят. В итоге он платит и пишет в поддержку.
  • Человек вышел сам до окончания. Бот должен уметь выдать новую ссылку в пределах оплаченного срока, не требуя повторной оплаты.
  • Часовые пояса. Даты хранятся в одном поясе, а в сообщениях показываются понятно: «доступ до 30 ноября включительно».
  • Массовое исключение в одну секунду. Если сотни подписок заканчиваются в один день, исключение и напоминания распределяют по времени, а не отправляют пачкой.
  • Ручные правки без следа. Если администратор продлил кому-то доступ вручную, это должно попасть в базу, иначе планировщик закроет доступ по старой дате.

Когда отдельный бот не нужен?

Бот не нужен, если подписчиков немного и вы готовы вести их вручную, если хватает встроенной месячной подписки за Stars или если вы продаёте разовый доступ без продлений. В этих случаях проще настроить то, что уже есть в Telegram, чем заказывать разработку.

  • Десятки подписчиков. Таблица с датами и пять минут в неделю дешевле бота, пока сверка не отнимает часы.
  • Один тариф, оплата в звёздах. Встроенная платная ссылка-приглашение уже делает продление и исключение.
  • Разовая продажа. Если доступ по условиям продукта не ограничен сроком, достаточно выдать персональную ссылку после оплаты; планировщик и напоминания не нужны.
Готовый сервис для платных каналов или свой бот
КритерийГотовый сервисСвой бот
ЗапускВ тот же день, по шаблону сервисаОт 1–2 дней на базовый бот, подписочная логика добавляет объём
ДеньгиЧасто сначала поступают сервису, затем выводятся вамПлатёжное подключение оформлено на вас
КомиссияСвоя комиссия сервиса плюс комиссия платёжной системыТолько комиссия платёжной системы, разработка оплачивается один раз
База подписчиковХранится у сервиса, выгрузка — по его правиламВаша база: ID, оплаты, даты окончания
Тарифы, пробный период, промокодыВ пределах настроек сервисаЛюбая логика, которую вы опишете
Связь с CRM и таблицамиЕсли сервис её поддерживаетОдна система входит в базовый тариф бота
Кто отвечает за работуСервис, без доступа к его кодуВы и подрядчик на поддержке

Готовый сервис или свой бот?

Готовый сервис подходит, чтобы быстро проверить, будут ли люди платить за ваш канал. Свой бот нужен, когда подписка стала заметной частью выручки и вы хотите свою базу, свои тарифы, свою платёжную схему и связь с CRM без посредника и его комиссии.

Если выбираете готовый сервис, задайте ему четыре вопроса: на чей счёт поступают деньги и когда их можно вывести; кто выдаёт чеки; можно ли выгрузить базу подписчиков с датами окончания; что происходит с доступами, если вы уходите с сервиса.

Про свой бот — по нашему прайсу. Базовый Telegram-бот стоит от 16 000 ₽ и делается за 1–2 дня: в тариф входят меню и сценарии, приём оплаты в боте (Telegram Payments или ЮKassa), рассылки по подписчикам, интеграция с одной системой — CRM или Google Sheets, хостинг и запуск на вашем аккаунте. Подписочная логика — планировщик, пробный период, промокоды, несколько тарифов — добавляет объём, поэтому точную цену и срок называем после брифа и фиксируем в договоре до старта. Подробно о том, что ещё платить после запуска, — в статье «Сколько стоит Telegram-бот под ключ».

Что важно в договоре и после запуска:

  • оплата 50/50: половина до старта, половина после приёмки; на приёмку — 5 рабочих дней;
  • до 2 раундов правок — на карте сценариев и после сборки бота;
  • 7 дней бесплатной поддержки после запуска, дальше — по абонентской подписке от 7 900 ₽/мес;
  • гарантия по договору — 30 календарных дней с даты акта, отдельно от поддержки;
  • бот работает на вашем Telegram-аккаунте и токене, платёжное подключение оформлено на вас, исходники или конфигурацию бота вы получаете для переноса; исключительное право на код остаётся у исполнителя, а вам после полной оплаты — лицензия на весь срок действия права: любой сервер, любые подрядчики.

Похожий принцип есть в нашем кейсе BanRadar: это Telegram-бот с кабинетом, где часть возможностей, например анализ графа контрагентов второго уровня, открыта только в Premium. Для платного канала логика та же: доступ определяется статусом подписчика в базе.

Что подготовить к брифу?

К брифу достаточно ответить на шесть вопросов, и по ним видно, хватит ли встроенной подписки Telegram или нужен свой бот, а если нужен — какой у него состав.

  1. Что именно получает подписчик: посты в канале, чат, эфиры, материалы, консультации.
  2. Какие тарифы и сроки: месяц, три месяца, год; нужен ли пробный период.
  3. Как планируете принимать оплату: Stars, карта, СБП — и что по этому поводу сказал юрист.
  4. Кто выдаёт чеки и есть ли у вас онлайн-касса или решение для чеков платёжного сервиса.
  5. Сколько подписчиков сейчас и как вы их ведёте: таблица, другой сервис, вручную.
  6. Куда отправлять данные об оплатах: CRM, таблица, уведомление вам в Telegram.

Если подписчики уже есть, захватите выгрузку с Telegram ID и датами окончания: тогда при переезде на свой бот никто не потеряет оплаченные дни. Обсудить задачу можно на странице разработки Telegram-ботов.

Короткие ответы на частые вопросы

Можно ли сделать платный Telegram-канал без бота?

Да. В настройках канала можно создать ссылку-приглашение с ежемесячной платой в Telegram Stars: Telegram сам принимает оплату, продлевает доступ и убирает тех, кто не продлил. Бот нужен, если вы хотите принимать оплату в рублях, давать пробный период, промокоды или несколько тарифов.

Как бот удаляет из канала тех, у кого закончилась подписка?

Бот должен быть администратором канала. По расписанию он находит подписки с истёкшей датой и вызывает метод исключения участника. Удобнее метод unbanChatMember: он убирает человека из канала, но оставляет возможность вернуться по новой ссылке после оплаты.

Что делать, если подписчик переслал ссылку-приглашение другу?

Выдавайте каждому ссылку с лимитом в одного участника и коротким сроком жизни или ссылку с заявкой на вступление, которую бот одобряет только для Telegram ID плательщика. Общую постоянную ссылку для платного канала использовать не стоит.

Можно ли принимать за доступ в канал оплату картой в рублях?

Telegram требует продавать цифровые товары и услуги внутри своих приложений только за Stars. Доступ к закрытому контенту обычно относят к цифровым услугам, поэтому до запуска сверьте актуальные правила платформы и схему оплаты с юристом.

Нужен ли кассовый чек при продаже подписки на канал?

Если вы принимаете оплату картой или через СБП как организация или ИП, по общему правилу 54-ФЗ покупателю нужен электронный чек, причём на каждое продление. Исключения и данные чека определяет бухгалтер.

Сколько стоит бот для платного канала?

Базовый Telegram-бот у нас — от 16 000 ₽ за 1–2 дня, приём оплаты в боте входит в тариф. Пробный период, промокоды, несколько тарифов и автопродление добавляют объём, поэтому точную смету называем после брифа и фиксируем в договоре.

Расскажите, что вы продаёте в канале, сколько стоит месяц доступа и как сейчас принимаете оплату, — разберём, хватит ли встроенной подписки Telegram или нужен свой бот, и назовём состав работ.

Рассчитать проект →

Оценку срока и цены по брифу делаем бесплатно, обычно отвечаем в течение часа в рабочее время. Типовой договор — посмотреть до оплаты.

Канал Roboweb в Telegram
Разборы цен, сроков и условий договора. Без спама и продаж в личку.
Подписаться →
Обсудим вашу задачу?

Опишите, что нужно — вернёмся с оценкой срока и цены. Обычно отвечаем в течение часа в рабочее время.

Заявка отправлена

Получили — обычно отвечаем в течение часа в рабочее время. Хотите быстрее, продублируйте в WhatsApp.

Продублировать в WhatsApp или позвонить +7 933 177-00-86
Или сразу: +7 933 177-00-86 · Telegram · WhatsApp