Подписка в TG-боте держится не на платежке, а на правильном стейте доступа
Главная ошибка — выбирать библиотеку «для подписок». В Telegram-боте подписка обычно собирается из 4 частей: прием платежа, запись периода доступа, проверка прав перед действием, продление/отключение по расписанию.
Laravel-стек:
— irazasyed/telegram-bot-sdk — базовый слой для Bot API;
— BotMan — удобен, если нужны диалоги и сценарии;
— Cashier имеет смысл, когда оплата идет через внешний биллинг;
— очереди Laravel + scheduler — для ретраев, напоминаний и снятия доступа.
Node-стек:
— grammY — аккуратная архитектура middleware, хорошо для Mini Apps и сложных флоу;
— Telegraf — быстрый старт и много примеров;
— node-telegram-bot-api — минималистично, если бот простой;
— BullMQ/Agenda + Prisma/TypeORM — для задач подписки и базы.
На практике: не храните «premium=true». Храните plan, paid_until, payment_provider, last_invoice_id, status. Каждый платный метод проверяет paid_until, а не верит сессии пользователя.
Вывод: библиотека отвечает за сообщения, а подписочная модель — за данные и фоновые задачи. Сначала спроектируйте доступ, потом выбирайте Laravel или Node.
Telegram Bots & Mini Apps Money
@tgbots_money_radar
Подписка в TG-боте держится не на платежке, а на правильном стейте доступа
Этот пост опубликован в Telegram-канале Telegram Bots & Mini Apps Money. Подписаться можно по ссылке: @tgbots_money_radar.