Бот доставки онлайн-курса по подписке: сам выдаёт уроки и защищает контент
Telegram-бот, который продаёт спортивный курс, ежедневно присылает тренировки по расписанию и закрывает доступ, когда подписка кончилась — без участия автора. Сделан для публичного шоу «Раздевайся и качай» с олимпийской гимнасткой Екатериной Галкиной.
Курс по подписке нужно выдавать каждый день — и защищать
Спортивный курс лимфодренажных тренировок продаётся как 30-дневная программа: один урок в день, по порядку, без возможности перескочить вперёд. Это сразу две головные боли для автора. Первая — выдавать контент строго по расписанию: каждое утро отправить нужный день нужным людям, не перепутав, на каком дне кто находится. Делать это руками на любой живой аудитории невозможно — это ежедневная смена оператора без выходных.
Вторая, более болезненная для платного инфопродукта — защита. Купив один доступ, человек может переслать видео тренировки кому угодно, и весь смысл подписки рушится. Для проекта публичного человека — олимпийской гимнастки Екатерины Галкиной и её шоу «Раздевайся и качай» — это вопрос не только денег, но и репутации: контент не должен утекать.
И третья деталь, которую часто забывают: доступ должен сам закрываться. Подписка на 30 дней — значит на 31-й человек не должен иметь ни тренировок, ни возможности листать старые сообщения. Иначе «подписка» превращается в разовую покупку навсегда.
Скоупинг: продажа на сайте, доставка и защита — в боте
У автора уже была витрина продаж на Tilda — менять её не было смысла. Поэтому мы не стали тянуть оплату внутрь бота, а состыковали две системы: продаёт лендинг, а доставляет и охраняет контент — бот. Разбили задачу на три контура и проектировали их по приоритету.
- Стык оплаты. Tilda присылает webhook об оплате — бот должен принять его, проверить подлинность (чтобы доступ нельзя было выдать себе поддельным запросом) и выдать покупателю ключ активации. Это первое, что проектировалось: если стык ненадёжен, дальше можно не строить.
- Доставка по расписанию. Планировщик, который каждый день в заданное время отправляет всем активным подписчикам именно их день курса — с трекингом прогресса, чтобы никто не сбился.
- Защита и срок жизни. Режим защиты контента на каждом сообщении плюс автоматическое закрытие доступа и удаление всех материалов по окончании подписки.
Отдельно заложили гибкость для автора: курс — это контент, который меняется. Поэтому дни, медиа и тексты должны редактироваться в админке без переписывания кода, а сам курс — загружаться из структурированного файла. Так проект остаётся «живым» и не требует разработчика на каждую правку.
Что в итоге работает
Получился бот, который ведёт покупателя от оплаты на сайте до последнего дня курса — и сам закрывает за собой дверь.
От оплаты к доступу
Человек оплачивает курс на лендинге razdevaisya-i-kachai.ru. Tilda отправляет боту webhook о платеже, бот проверяет HMAC-SHA256 подпись запроса, генерирует одноразовый код активации и отправляет его покупателю на email через SMTP. Пользователь вводит код в боте — и подписка на 30 дней активируется. Код привязан к email и конкретному курсу и срабатывает только один раз, так что поделиться им бессмысленно.
Ежедневная доставка по расписанию
Это сердце продукта. Планировщик (APScheduler с cron-триггером) в заданное время и с учётом часового пояса рассылает всем активным подписчикам ровно их день курса. Бот ведёт трекинг прогресса — текущий день из общего числа, рисует визуальную полосу прогресса и за 3 дня до конца напоминает, что подписка заканчивается. Каждый день — это не одно сообщение, а структурированная выдача: welcome-материалы, видео и фото тренировки, анимации и ссылки на музыкальные плейлисты (YouTube / Yandex / Apple Music).
Защита контента
Все материалы курса отправляются с включённым режимом защиты Telegram (protect_content) — переслать, сохранить или скопировать видео и фото нельзя. А когда подписка истекает, бот автоматически удаляет все отправленные сообщения с тренировками — доступ к контенту закрывается полностью, как и обещано в подписке.
Автор управляет курсом сам
Админ-панель внутри бота даёт автору полный контроль без программиста: управление курсами, генерация кодов активации, просмотр подписок и статистики, загрузка курса из JSON и редактор дней и медиа. Меню у пользователя меняется динамически в зависимости от статуса подписки — middleware проверяет доступ и показывает только то, что человеку сейчас положено.
Под капотом
Оплата и активация
Доставка и подписка
Защита и срок жизни доступа
Управление и инфраструктура
Курс доставляет себя сам
На выходе — бот, который сам доставляет тренировки по расписанию, закрывает доступ по окончании подписки и защищает контент. Покупатель платит на сайте, получает код, активирует доступ — и дальше каждый день получает свою тренировку без единого касания со стороны автора. На 31-й день подписка закрывается, материалы удаляются, контент не утекает за пределы оплаченного доступа.
Это рабочий инструмент для публичного проекта — шоу «Раздевайся и качай» с олимпийской гимнасткой Екатериной Галкиной. Витрина курса живёт здесь: razdevaisya-i-kachai.ru. Автор управляет курсом сам — через админку в боте, без программиста на каждую правку.
Цифры по продажам и удержанию подписчиков — это данные владельца проекта и предоставляются по запросу под конкретную задачу, без выдуманных метрик.
Если у вас инфопродукт, курс или закрытый контент по подписке — будь то фитнес, обучение или любой материал, который нужно выдавать по расписанию и защищать от пересылки, — это ровно та механика «оплата → выдача по графику → защита → автозакрытие», которую мы собираем под ключ.
Нужен бот, который сам продаёт и выдаёт ваш курс?
Расскажите о продукте — за день пришлём фиксированную смету и сроки. Оплата, выдача по расписанию, защита контента и админка для вас — собираем под ключ, исходники ваши с первого дня.
Берём в работу ограниченное число проектов одновременно — это держит сроки реальными.