Skip to main content

Обязательные

Режим запуска

Telegram Bot

Система поддержки

База данных

Redis

Webhook и веб-сервер

Web API (единый сервер)

Эндпоинт ручного пополнения (v3.67.0) рассчитан на автоматизацию — например, на AI-агента поддержки. Лимит WEB_API_MANUAL_DEPOSIT_MAX_KOPEKS — предохранитель: агент, ошибшийся на два нуля, упрётся в него. Каждое начисление идемпотентно по внешнему ключу и проходит весь пост-топап конвейер (уведомления, автопокупка из корзины, реферальные бонусы).

Remnawave интеграция

Автосинхронизация

Webhooks от панели (real-time события)

Уведомления пользователям от webhooks

Теги пользователей

Подписки и продажи

Режим продаж

Смена тарифа

Триал подписка

Платная подписка

Периоды подписки

Простая покупка подписки

Настройки трафика

Докупка трафика

Сброс трафика

Цены

Устройства

device_limit = 0 в тарифе означает безлимит, а не «ноль устройств» — так это и показывается пользователю и в админке (v3.66.0).

Скидки за длительные периоды

Модем

Автопродление

Автопродление с баланса (ENABLE_AUTOPAY) и провайдерские рекурренты (Platega, Lava) взаимоисключающи для одной подписки: включение одного выключает другое. Подробнее: Рекуррентные платежи.Рекуррент Lava оформляется на продукт из кабинета Lava (цена и период заданы там), поэтому тарифу нужно проставить lava_product_id.

Автопокупка после пополнения

Grace access (ограниченный доступ после истечения)

Временный урезанный доступ для подписок в статусах expired и limited — чтобы человек успел продлиться, не оставаясь полностью без связи. Подробнее: Grace access.
При GRACE_ACCESS_MODE=true доступ получают обычные платные несуточные подписки. Триальные, суточные и бесплатные — только если включены соответствующие флаги.

Платежные системы

Общие настройки платежей

Кнопки быстрых сумм пополнения задаются per-метод в базе через админ-панель бота (раздел 💸 Быстрые суммы) и Cabinet Admin API, а не в .env. Переменных DISABLE_TOPUP_BUTTONS, HIDE_TOPUP_BUTTONS и YOOKASSA_QUICK_AMOUNT_SELECTION_ENABLED в боте не существует — раньше они ошибочно упоминались здесь. Подробнее: Кнопки быстрых сумм.
| PAYMENT_SERVICE_NAME | Название сервиса в платежах | Интернет-сервис | | PAYMENT_BALANCE_DESCRIPTION | Описание пополнения | Пополнение баланса | | PAYMENT_SUBSCRIPTION_DESCRIPTION | Описание оплаты подписки | Оплата подписки | | PAYMENT_BALANCE_TEMPLATE | Шаблон описания пополнения | {service_name} - {description} | | PAYMENT_SUBSCRIPTION_TEMPLATE | Шаблон описания подписки | {service_name} - {description} |
Настройки PAYMENT_* позволяют изменить описания платежей, чтобы избежать блокировок платёжных систем.

Telegram Stars

YooKassa

YOOKASSA_TRUSTED_PROXY_NETWORKS — это адреса вашего реверс-прокси или балансировщика, чьему заголовку X-Forwarded-For можно верить при вычислении реального IP отправителя. Приватные сети и диапазоны Cloudflare доверяются автоматически. IP самой YooKassa захардкожены в коде и сюда вписывать не нужно.YOOKASSA_SKIP_IP_CHECK (v3.65.0) нужен, когда бот стоит за Anti-DDoS, который не пробрасывает IP клиента — до бота доходит только адрес прокси, и вебхуки отбиваются с forbidden_ip. При включении каждый платёж обязательно подтверждается запросом в api.yookassa.ru: без исходящего доступа туда платежи не будут зачисляться вообще.
Коды НДС: 1 — не облагается, 2 — 0%, 3 — 10%, 4 — 20%, 5 — 10/110, 6 — 20/120, 7 — 5%, 8 — 7%, 9 — 5/105, 10 — 7/107, 11 — 22%, 12 — 22/122.

CryptoBot

CloudPayments

Freekassa

Freekassa: отдельные методы оплаты

Можно выделить СБП и карту как отдельные кнопки (параллельно с основным методом Freekassa).

Kassa AI (api.fk.life)

Отдельная платёжная система, работает параллельно с Freekassa.

Platega

Если карты (метод 11) падают с ошибкой No available card cascades — переключите PLATEGA_API_VERSION=v2.Про СБП-автопродление см. Рекуррентные платежи.

cisPay

PayPalych (Pal24)

Heleket

MulenPay

Tribute

WATA

RioPay

Overpay

Платёжная система с mTLS-аутентификацией (P12 клиентский сертификат) и HTTP Basic Auth. Автоматическая отправка чеков в налоговую при пополнении баланса.

Реферальная программа

Основные настройки

Вывод реферального баланса

Анализ подозрительной активности

Обязательная подписка на каналы

Каналы управляются через админ-панель бота или Cabinet API (не через переменные окружения). Подробнее: Обязательная подписка на каналы.

Мониторинг трафика

Логика: при старте бота создаётся snapshot трафика. Через интервал проверяется дельта. Если превышает порог — уведомление админам.

Быстрая проверка (дельта за интервал)

Суточная проверка (через bandwidth API)

Уведомления и фильтрация

Изменение в v4.0.0. Переменная TRAFFIC_EXCLUDED_USER_UUIDS переименована в TRAFFIC_EXCLUDED_USER_IDS, и изменился формат значений: вместо UUID панельных пользователей нужны числовые id. Автоматически сконвертировать нельзя — в Remnawave 3.0.0 прежних UUID больше не существует. Перевыпишите список заново из панели. Подробнее: Обновление на Remnawave 3.0.0.

Производительность

Чёрный список

Интеграция BedolagaBan

Мониторинг серверов

Мониторинг и уведомления

MONITORING_NOTIFICATION_SEND_TIMEOUT ограничивает каждую отправку по отдельности. Без него один зависший запрос к Telegram (до 60 секунд на получателя) тормозил весь цикл мониторинга на минуты.

Режим технических работ

Уведомления администраторов

ADMIN_NOTIFICATIONS_RICH_ENABLED намеренно закомментирован в .env.example — так настройка остаётся редактируемой из админки на лету. Значение, заданное в .env, блокирует её изменение через интерфейс.

Шаблоны уведомлений о бане

Тексты, которые получает пользователь при бане. Причина приходит от BedolagaBan, и под каждую есть свой шаблон (v4.1.0).
Шаблоны поддерживают HTML-разметку Telegram. Общий выключатель уведомлений (ENABLE_NOTIFICATIONS) действует и на них — при выключенных уведомлениях типизированные баны не отправляются.

Автоматические отчёты

Конкурсная система

Интерфейс и UX

Логотип и меню

Rich-главное меню (Bot API 10.1)

Главное меню с заголовками, таблицей подписок, сворачиваемыми блоками акций и датами в часовом поясе пользователя. Подробнее: Настройки интерфейса.
Требуется telegram-bot-api с поддержкой Bot API 10.1+ (официальный сервер поддерживает). Если возможности недоступны, бот сам откатывается на классический рендер до перезапуска.Ключи MAIN_MENU_RICH_* в .env.example закомментированы намеренно — так они остаются редактируемыми из админки. Известные id эффектов: 🎉 5046509860389126442, ❤️ 5044134455711629726, 🔥 5104841245755180586.

Кнопка «Меню» с веб-кабинетом

Нижняя кнопка Меню в Telegram открывает веб-кабинет как WebApp. Бот при этом продолжает работать обычными сообщениями и inline-кнопками.
При false существующая кнопка меню не трогается — отката к MenuButtonDefault не происходит. Настройка применяется при старте бота.

Видимость элементов

Кнопка «Подключиться»

Remnawave 2.8.0 удалил серверную генерацию crypt-ссылок (/api/system/tools/happ/encrypt). Начиная с v3.63.0 бот шифрует ссылки локально публичным RSA-ключом Happ — так же, как это делает subpage панели. Внешний Happ API остаётся запасным путём.Выключатели нужны на крайний случай: HAPP_CRYPTOLINK_LOCAL_ENCRYPTION_ENABLED=false — если Happ ротирует ключ и до обновления бота ссылки нужно гнать через API; HAPP_CRYPTOLINK_API_FALLBACK_ENABLED=false — если не хотите обращений к внешнему сервису вообще (тогда crypt-ссылки будут только у тех, у кого они уже сохранены в БД).

Cabinet (Личный кабинет)

Гейт согласия (v3.67.0) сам собой отключается, если ни оферта, ни политика не включены для веба. CABINET_LEGAL_CONSENT_PRECHECKED=true юридически слабее явной галочки, поэтому по умолчанию выключен.USER_ACTION_LOG_* в .env.example закомментированы — так они остаются редактируемыми из админки.

Telegram авторизация (виджет)

Настройки внешнего вида Telegram Login Widget на странице входа Cabinet.

Telegram OIDC

Авторизация через Telegram OpenID Connect (popup-окно, JWT id_token). Подробнее: Telegram OIDC.

OAuth провайдеры

Вход через социальные аккаунты. Подробнее: Настройка OAuth.

Тестовый email (разработка)

SMTP (Email)

SMTP_REPLY_TO (v4.1.0) нужен, когда SMTP_FROM_EMAIL живёт на поддомене без MX-записи — типичная схема Resend и SES (noreply@mail.example.com). Ответ клиента на такое письмо просто отбивается, и обращение до вас не доходит.

Отписка от маркетинговых писем

One-click unsubscribe по RFC 8058 — заголовок List-Unsubscribe и ссылка в футере (v4.1.0). Касается только маркетинга: winback, промопредложений и email-рассылок. Транзакционные письма (код входа, чек, окончание подписки) отписке не подлежат.
Gmail и Yahoo требуют one-click unsubscribe от массовых отправителей. Без него единственный способ прекратить письма — кнопка «Спам», а она бьёт по репутации домена.EMAIL_UNSUBSCRIBE_BASE_URL указывайте явно, если API кабинета проксируется не через /api.

Система бэкапов

Отправка бэкапов в Telegram

Проверка обновлений

Оффлайн-конверсии Яндекс Метрики

Отправка оффлайн-конверсий в Яндекс Метрику при покупке подписки. CID захватывается из бота (параметр /start), авторизации Cabinet или лендингов.

S2S Postback

Серверные постбэки (Server-to-Server) при регистрации, активации триала и покупке подписки.

Локализация

Логирование

Ротация логов

Медиа-загрузки (новости)

Настройки для загрузки изображений и видео в модуле новостей.

Дополнительные настройки