Skip to content

Админка в боте

Всё управление магазином — прямо в Telegram, без веб-кабинета. Команда /admin (доступна только владельцу и админам) открывает панель с разделами.

Кто видит

Панель гейтится по тому же признаку, что и раньше: Telegram ID в ADMIN_IDS или APP__OWNER_IDS, либо роль ≥ admin. Обычные пользователи команду /admin и её кнопки не видят и не могут вызвать.

Разделы

РазделЧто делает
📊 СтатистикаПользователи (сегодня / 7д / 30д), активные подписки, выручка по периодам, топ тарифов и топ касс
📈 АналитикаВоронка триал→оплата, конверсия, ARPU/ARPPU/средний чек, удержание 7д/30д, топ источников и рефереров
👥 ПользователиПоиск по Telegram ID / @username / имени, карточка (баланс, подписка, приглашённые), начислить/списать баланс, продлить подписку (+7/+30/+90 дней), бан/разбан
📣 РассылкаВыбор аудитории (все / с подпиской / триал / истёкшие) → текст → предпросмотр с числом получателей → запуск
🎟 ПромокодыСписок с активациями, создание (баланс ₽ / дни к подписке / бесплатная подписка) с опциональным лимитом активаций
🎁 Gift-кодыГенерация пачки одноразовых кодов (до 1000) с готовыми диплинками ?start=gift_КОД
🏷 АкцииСкидки по дням месяца (−N% с дня X по день Y), включение/выключение
⚙️ НастройкиБыстрые тумблеры: техработы, триал, канал-лок, автопродление, рефералка, оплата с баланса — с hot-reload
🖼 ОформлениеЛого, стикер и баннеры экранов командами /setlogo, /setsticker, /setbanner

Как это работает

Каждое действие в боте вызывает те же сервисы и таблицы, что и веб-кабинет — логика не дублируется. Начисление баланса пишет строку в леджер (тип GIFT/WITHDRAWAL, метод admin), продление идёт через panel-first renew (при недоступной панели — понятная ошибка, не молчание), рассылка ставится в ту же очередь taskiq, что и из кабинета — прогресс и детальная статистика по ней видны в веб-админке → «Рассылки».

Промокоды и gift-коды — примеры

Промокод на 500 ₽, безлимитный: Промокоды → Создать → «Баланс» → 500. Промокод на 30 дней, лимит 100 активаций: → «Дни к подписке» → 30 100. 50 gift-кодов по 30 дней: Gift-коды → «Дни к подписке» → 30 50 — бот пришлёт список диплинков (или файлом, если кодов много).

Тонкая настройка — в вебе

Из бота создаются промокоды с базовыми параметрами (награда + лимит). Точная настройка (сроки действия, доступность «только новым / приглашённым», промо-группы) и правка/удаление существующих — в веб-кабинете, раздел «Промо».

MIT License · сделано для тех, кто продаёт VPN, а не настраивает ботов