Перейти к содержимому

Что умеет бот

Для пользователя:

  • Покупка подписки через витрину тарифов: тарифов может быть сколько угодно, у каждого — своё имя, значок, описание и сроки с ценами (всё настраиваете вы). Единственный тариф открывается сразу карточкой; в карточке видны доступные страны и условия тарифа — трафик и лимит устройств, в том числе по срокам.
  • Триал (бесплатный пробный период) — включается одной кнопкой; один раз на аккаунт.
  • Продление подписки: отдельная кнопка появляется за 7 дней до конца (или сразу, если сейчас триал). Время не пересчитывается, а добавляется к текущему сроку; счётчик трафика при платном продлении обнуляется — новый период начинается со свежим пакетом. Продление идёт по своему тарифу; если админ изменил его условия с прошлой оплаты — бот предупредит перед оплатой.
  • Смена тарифа без сгорания остатка: неиспользованные дни текущего тарифа зачитываются к новому по соотношению цен, точный сдвиг срока виден до оплаты. Условия покупки фиксируются снимком в момент оплаты — последующие правки тарифа админом уже купленного не меняют.
  • Кошелёк в рублях: пополнить один раз и платить с баланса; автосписание при покупке, прогноз «на сколько хватит» и ввод промокода. Суммы пополнения = ценам ваших тарифов, своя сумма — не больше самого дорогого тарифа (защита от кард-тестинга и крупных чарджбеков). Пополнение можно отключить (Продажи → 👛 Кошелёк) — новые деньги не принимаются, а лежащие на балансах люди дожигают на подписку; оплата с баланса и реферальные начисления продолжают работать. Вывод средств с баланса невозможен — бот говорит об этом прямо.
  • Промокоды — бонус на баланс или дни подписки (дни — только при уже существующей подписке). Можно раздавать ссылкой t.me/ВАШ_БОТ?start=promo_КОД — код применится автоматически при старте.
  • Реферальная программа — личная ссылка-приглашение: бонус пригласившему (деньгами или днями), приветственный бонус самому приглашённому другу и процент с каждого платежа приглашённых на баланс. На экране видно «приглашено / заработано» (всё настраивает админ).
  • Напоминания об окончании триала и подписки (за 7 / 3 / 1 день — настраивается).
  • Автопродление (ЮKassa) — после успешной оплаты картой бот предлагает включить автопродление. Если пользователь согласился, бот сам продлевает подписку (за N дней до конца, N задаёт админ) сохранённой картой. Без согласия не списывается ничего. Отключается одной кнопкой в «Моей подписке», мини-аппе и веб-кабинете. Подробнее — Автопродление.
  • Сброс устройств — отключить все свои устройства одной кнопкой (в боте, Mini App и веб-кабинете): ключ доступа обновляется, старые устройства отключаются.
  • Красивая карточка «Подписка активна до …» с копируемой ссылкой и датой по МСК.
  • Автопривязка к панели: если у пользователя уже была учётка в панели (по telegramId или username с его TG ID), при регистрации бот сам свяжет её с аккаунтом — триал для таких недоступен (защита от абуза).

Способы оплаты (каждый включается отдельно):

Метод Что это Валюта
P2P Перевод на карту, вы подтверждаете оплату вручную (можно выдавать реквизиты всем без ручного допуска)
Telegram Stars Встроенная валюта Telegram ⭐ ⭐ (≈ пересчёт из ₽)
ЮKassa Карты/СБП через ЮKassa, вебхук с перепроверкой платежа, автопродление (рекуррент)
CryptoBot Оплата криптой по курсу, цены в рублях (фиат-режим) ₽ → крипта
Platega Карты РФ / СБП (QR), статус перепроверяется по API
Heleket Крипта: счёт в ₽, монету и сеть клиент выбирает сам ₽ → крипта
Tribute Подписка через Tribute, продления подхватываются вебхуком по кабинету Tribute
  • Mini App и веб-кабинет: то же самое (витрина тарифов, покупка, продление, баланс, промокоды, рефералка) в виде приложения внутри Telegram и отдельного сайта в браузере. Экран «Подключить» подтягивает приложения под все платформы (iOS / Android / Windows / macOS / Linux / TV) и импортирует ключ в один тап; QR для переноса на другое устройство. На панели 3.x список приложений берётся напрямую из панели (в т.ч. персональный конфиг, назначенный подписке), на старых панелях — со страницы подписки, как раньше. Веб-кабинет — на настраиваемом пути, с защитой от индексации, anti-fingerprint и локальным хостингом флагов (ничего не грузится со сторонних CDN). Вход — через Telegram или e-mail+пароль; для e-mail-аккаунтов есть P2P с загрузкой скриншота прямо в кабинете и (опционально) модерация новых регистраций админом. Все способы оплаты работают и в Mini App, и в браузере. Оба включаются в админке (Система → Mini App / Веб-кабинет).

Для администратора (всё в Telegram, без правки конфигов):

  • Продажи: тарифы — сколько угодно, у каждого свои имя/значок/описание, цены по срокам и способам оплаты, трафик ГБ и лимит устройств HWID (на тариф и с переопределением на отдельный срок), сквады, валюта, стратегия сброса NO_RESET / DAY / WEEK / MONTH / MONTH_ROLLING; доступность тарифа (всем / только новым / только действующим / по списку / по прямой ссылке) и экспорт/импорт тарифа файлом; быстрый мастер и тонкая настройка правят тариф «Базовый»; триал, сквады, все платёжки, история платежей с итогами, аналитика выручки, чеки самозанятого (МойНалог, только по ЮKassa), доп-подписка (add-on) — опциональный второй аккаунт в панели (суффикс _addsub) со своими internal-сквадами и лимитом трафика, выключен по умолчанию, с кнопкой «Синхронизировать всех» для разовой раскатки на уже оплативших (подробнее — Доп-подписка и слияние подписок); экспорт полного лога платежей в CSV.
  • Маркетинг: промокоды (в т.ч. ссылкой с автоприменением), реферальная программа (бонус пригласившему + бонус другу + процент с платежей), рассылка всем пользователям, автонапоминания.
  • Интерфейс: свои баннеры на каждый раздел, премиум-эмодзи, контакты (поддержка + группа, можно задать ссылкой или @username), документы сервиса (пользовательское соглашение и политика конфиденциальности); экраны админки и пользователя редактируются «на месте» (в текущем сообщении).
  • Пользователи: поиск по Telegram ID, нику, имени и e-mail (часть строки достаточно), карточка с активной подпиской, блок/вайтлист, режим публичности бота и ссылки-приглашения, удаление из бота и (по запросу) из панели, ручная связка аккаунта бота с любой учёткой панели (по username/UUID); 🚫 Торренты — реакция на отчёты торрент-блокера панели: уведомления админу и нарушителю, журнал нарушений, снятие блокировки IP и исключения прямо из отчёта, автоотключение подписки по порогу (подробнее — Торрент-блокер).
  • Система: статус панели, самообновление /update с выбором канала (stable :latest / dev :dev), уведомления об обновлениях (раз в сутки бот сверяется с GitHub и при новой версии шлёт админу changelog с кнопкой «Обновить» — тумблер и ручная проверка в разделе), вебхуки, Mini App и веб-кабинет (вкл/выкл, путь, заголовок/описание/favicon, anti-fingerprint, модерация новых регистраций off/tg/email/all), поддомен подписок, лог API-запросов, перенастройка.

Технические особенности:

  • Самоменеджмент Docker: бот стартует без базы, при выборе Postgres сам поднимает контейнер БД через docker.sock и переносит данные из SQLite.
  • Идемпотентные платежи + фоновый реконсилятор (добивает оплату, если вебхук не дошёл).
  • Поддержка двух поколений API панели: до 3.0.0 пользователь адресуется по uuid, с 3.0.0 — по числовому id через /api/users/stream. Диалект определяется автоматически и кэшируется; апгрейд панели под работающим ботом подхватывается без перезапуска.
  • Сброс трафика в панели при платном продлении (reset-traffic) — и для основной подписки, и для доп-подписки; триал и бонусные дни трафик не сбрасывают.
  • Команды /terms, /privacy, /docs, /support, /paysupport — соответствие чек-листу Telegram для приёма Stars.
  • Двуязычный интерфейс RU/EN.
  • Надёжность: восстановление после паник, отправка с учётом лимитов Telegram (429 с повтором), корректное завершение фоновых задач при остановке.
  • Проверки в CI: тесты с Postgres, go vet, golangci-lint v2, gosec и govulncheck — жёсткий гейт по известным CVE.

Безопасность:

  • Автоблок скам-регистраций: ник/имя с паттернами «support/саппорт/поддержка», «admin/админ», «verif», «official», «moder», «security», «refund» или именем вашего бота блокируется сразу при регистрации. Юзер получает «не прошли антиспам-проверку» с кнопкой вашей поддержки (ссылка из Интерфейс → Контакты), админ — алерт с кнопкой «Разблокировать» на случай живого человека.
  • Имена и ники пользователей экранируются во всех сообщениях бота — HTML-инъекции через имя (скам-ссылки в уведомлениях) невозможны.
  • Бот управляет в панели только аккаунтами этого пользователя — привязка по telegramId/username tg_<id>; чужие учётки не трогаются даже если на них стоит тег бота (касается блокировки, продления и удаления).
  • Вебхуки платёжек верифицируются (HMAC-подписи или перепроверка статуса по API провайдера), платежи защищены от дублей уникальным индексом.
  • /status, статистика и все настройки доступны только аккаунту из ADMIN_TELEGRAM_ID; SQL только через плейсхолдеры; конфиг в БД зашифрован (SECRET_KEY).
  • Режимы публичности бота (Пользователи → Доступ): публично, по приглашениям (одноразовые ссылки со своим сроком жизни и числом регистраций) и белый список. Подробнее — Доступ в бота.