Skip to main content

Обзор

Бот отправляет 35+ типов уведомлений в админские Telegram-чаты. Уведомления маршрутизируются по топикам внутри супергруппы — каждый тип событий можно направить в отдельный топик.

Настройка чатов

Основной чат уведомлений

Специализированные топики

Каждый тип событий можно направить в свой топик. Если специальный топик не указан — уведомления уходят в ADMIN_NOTIFICATIONS_TOPIC_ID.

Топики по категориям

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

Все топики по категориям опциональны. Если переменная не задана — уведомления автоматически уходят в ADMIN_NOTIFICATIONS_TOPIC_ID. Можно настроить только нужные топики, остальные останутся в общем.

Чат отчётов

Если ADMIN_REPORTS_CHAT_ID не указан — отчёты отправляются в ADMIN_NOTIFICATIONS_CHAT_ID.

Чат бэкапов

Чат логов

Если LOG_ROTATION_CHAT_ID не указан — логи отправляются в BACKUP_SEND_CHAT_ID.

Финансовые уведомления

Пополнение баланса

Отправляется при каждом успешном платеже через любую платёжную систему. Содержимое:
  • Пользователь (имя, ID, username)
  • Статус: первое или повторное пополнение
  • Промогруппа (если есть)
  • Сумма и способ оплаты
  • Баланс до → после
  • Статус подписки (триал/активна/неактивна)
  • Реферер (если есть)
  • Технические детали: ID транзакции, внешний ID, UUID чека

Покупка подписки

Отправляется при покупке, продлении, конверсии из триала или смене тарифа. Заголовок меняется в зависимости от типа:
  • Первая покупка → «Покупка подписки»
  • Повторная → «Продление подписки»
  • Из триала → «Конверсия из триала»
  • Смена тарифа → «Смена тарифа»
Содержимое:
  • Пользователь, тариф, способ оплаты, сумма
  • Период, дата окончания, трафик, устройства, серверы
  • Баланс после покупки, реферер, ID транзакции

Продление подписки

Отправляется при явном продлении существующей подписки. Содержимое:
  • Пользователь, промогруппа с деталями скидок
  • Сумма, способ оплаты, ID транзакции
  • Добавленные дни, старая → новая дата окончания
  • Текущие параметры: трафик, устройства, серверы

Докупка трафика/устройств/серверов

Отправляется при покупке дополнений к подписке. Заголовок: «Докупка трафика» / «Докупка устройств» / «Смена серверов» Содержимое:
  • Пользователь, тариф
  • Изменение: старое → новое значение
  • Стоимость, дата окончания подписки, баланс

Подписки и триалы

Активация триала

Отправляется при активации пробной подписки. Содержимое:
  • Пользователь, статус (новый/существующий)
  • Промогруппа, тариф (если тарифный режим)
  • Параметры триала: длительность, трафик, устройства, сервер
  • Оплата за активацию (если платный триал)
  • Дата окончания, реферер

Промо и маркетинг

Активация промокода

Содержимое:
  • Пользователь, промогруппа
  • Код, тип (деньги / дни подписки / триал), использований
  • Бонус (сумма или дни), срок действия
  • Баланс до → после, эффект

Переход по рекламной кампании

Отправляется при клике по deep-ссылке кампании. Содержимое:
  • Кампания: название, ID, стартовый параметр
  • Пользователь, статус (новый/существующий)
  • Промогруппа, бонус кампании (баланс или подписка)

Смена промогруппы

Отправляется при автоматической (по лояльности) или ручной смене промогруппы. Содержимое:
  • Пользователь
  • Новая группа с деталями скидок
  • Предыдущая группа (если была)
  • Инициатор (админ или «Автоматически»), причина

Поддержка

Новый тикет

Отправляется в топик ADMIN_NOTIFICATIONS_TICKET_TOPIC_ID. Содержимое: информация о пользователе, тема тикета, превью сообщения, кнопки для ответа.

Ответ на тикет

Отправляется при ответе пользователя на существующий тикет.

Напоминание о SLA

Автоматическая проверка каждые SUPPORT_TICKET_SLA_CHECK_INTERVAL_SECONDS (по умолчанию 60 сек). Если тикет без ответа дольше SUPPORT_TICKET_SLA_MINUTES (по умолчанию 5 мин) — отправляется напоминание.
Кулдаун между напоминаниями по одному тикету: SUPPORT_TICKET_SLA_REMINDER_COOLDOWN_MINUTES.
Уведомления о тикетах можно включить/выключить без перезапуска через настройки поддержки в админ-панели.

Партнёры и выводы

Заявка на партнёрство

Содержимое:
  • Пользователь
  • Данные заявки: название компании, Telegram-канал, сайт, описание, ожидаемые рефералы

Запрос на вывод средств

Отправляется в два места:
  1. Основной топик уведомлений
  2. Специальный топик REFERRAL_WITHDRAWAL_NOTIFICATIONS_TOPIC_ID (если настроен)
Содержимое:
  • Пользователь, сумма вывода, текущий баланс, реквизиты

Мониторинг и система

Статус панели RemnaWave

Отправляется при изменении доступности панели.

Режим обслуживания

Отправляется при включении/выключении техработ.

Аномалии трафика

Отправляется в топик SUSPICIOUS_NOTIFICATIONS_TOPIC_ID.
Максимум 10 уведомлений за одну проверку. Кулдаун на пользователя предотвращает спам.

Массовая блокировка

Отправляется когда админ выполняет массовую блокировку пользователей. Содержимое: имя админа, количество заблокированных, не найденных, ошибок, процент успеха.

Обновления бота

Доступно обновление

Бот проверяет GitHub раз в час. При обнаружении новой версии: Содержимое:
  • Тип: релиз / pre-release / dev build
  • Версии: текущая → новая (со ссылкой на GitHub)
  • Дата релиза, changelog
  • Количество доступных обновлений

Ошибка проверки обновлений

Если GitHub API недоступен — уведомление с ошибкой и информацией о повторной попытке через 1 час.

Запуск и крэши

Запуск бота

Отправляется один раз при успешном старте. Содержимое:
  • Версия бота
  • Статистика: пользователи, активные подписки, общий баланс, открытые тикеты
  • Статус панели RemnaWave
  • Кнопки: GitHub, комьюнити, поддержка

Крэш-репорт

Отправляется при фатальной ошибке запуска (webhook, БД, Redis, RemnaWave, авторизация). Содержимое:
  • Тип и текст ошибки
  • Рекомендации по исправлению (зависят от типа ошибки)
  • Прикреплённый файл crash_report_{timestamp}.txt с полным traceback

Ошибки в хендлерах

Необработанные исключения автоматически отправляются в админ-чат. Содержимое: файл error_report_{timestamp}.txt с traceback, контекстом хендлера и информацией о пользователе.
Отчёты об ошибках отправляются даже если ADMIN_NOTIFICATIONS_ENABLED=false — достаточно указать ADMIN_NOTIFICATIONS_CHAT_ID. Частота ограничена буфером (макс. 10 ошибок) и кулдауном.

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

Ежедневный отчёт

Отправляется автоматически в ADMIN_REPORTS_SEND_TIME (московское время).
Содержимое:
  • Новые регистрации
  • Активации триалов
  • Конверсии триал → платная подписка
  • Покупки подписок
  • Сумма пополнений и платежей за подписки
  • Тикеты поддержки (открытые/закрытые)
  • Метрики активности пользователей
  • Топ рефереров

Еженедельный и ежемесячный отчёты

Формируются по запросу через админ-панель. Те же метрики, агрегированные за 7 или 30 дней.

Бэкапы

Уведомление о бэкапе

Отправляется после каждого автобэкапа (успех или ошибка).

Файл бэкапа

Сам файл бэкапа отправляется в отдельный чат BACKUP_SEND_CHAT_ID.
Файл может быть защищён паролем (ZIP). Подпись содержит метаданные бэкапа.

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

Ежедневно в LOG_ROTATION_TIME архивируются лог-файлы (bot.log, info.log, warning.log, error.log, payments.log) и отправляются в чат.
Файл: tar.gz архив с подписью, содержащей список логов и их размеры.

RemnaWave Webhook-события

При настроенном RemnaWave webhook бот получает и пересылает в админ-чат события панели:

Ноды

Сервисы

Биллинг нод (CRM)


Статус очереди фискальных чеков отправляется в топик ADMIN_NOTIFICATIONS_NALOG_TOPIC_ID. Кулдаун: 1 час между уведомлениями. Содержимое: статус очереди, количество ошибочных чеков, детали ошибок.

Конкурсы

Ежедневная сводка по конкурсу

Отправляется ежедневно во время активного реферального конкурса. Содержимое: текущие позиции участников, топ рефереров, количество рефералов.

Итоги конкурса

Отправляется при завершении конкурса. Содержимое: финальные результаты, победители, общее количество рефералов.

Сводная таблица

Бот не должен быть администратором в чате с топиками — иначе он будет отвечать на сообщения. Достаточно добавить бота как обычного участника. Для топиков нужна супергруппа с включёнными топиками.