Skip to main content

Обзор

Система уведомлений включает:
  1. Рассылки — массовые сообщения пользователям с фильтрами
  2. Топик-уведомления — события для администраторов в Telegram-форуме
  3. Вебхук-уведомления — автоматические сообщения пользователям от RemnaWave
  4. Уведомления о подписке — напоминания, волны возврата, автопродление
  5. Закреплённые сообщения — отображение при каждом /start

Рассылки (Broadcasts)

Создание рассылки

  1. Администратор выбирает аудиторию
  2. Вводит текст (до 4000 символов, HTML)
  3. Опционально прикрепляет медиа (фото, видео, документ, до 50 МБ)
  4. Выбирает инлайн-кнопки для прикрепления к сообщению
  5. Превью с количеством получателей
  6. Подтверждение и отправка

Каналы рассылки

КаналОписание
telegramЧерез Telegram бот
emailЧерез SMTP
bothTelegram + Email

Аудитории

Базовые фильтры

ФильтрОписание
allВсе активные пользователи
activeПлатная активная подписка
trialТриальная подписка
no_subБез активной подписки
expiringПодписка истекает в течение 3 дней
expiredИстёкшая/отключённая подписка
active_zeroПлатная подписка, 0 ГБ использовано
trial_zeroТриальная подписка, 0 ГБ использовано
zeroЛюбая подписка, 0 ГБ использовано

Расширенные фильтры

ФильтрОписание
expiring_subscribersПодписка истекает за 7 дней
canceled_subscribersСтатус DISABLED
trial_endingТриал истекает за 3 дня
trial_expiredТриал уже истёк
autopay_failedНеудачный автоплатёж за последние 7 дней
low_balanceБаланс > 0, но < 100 руб
inactive_30d/60d/90dНеактивны N дней
tariff_{id}Пользователи конкретного тарифа

Кастомные критерии

КритерийОписание
todayЗарегистрированы сегодня
weekЗа последние 7 дней
monthЗа последние 30 дней
active_todayАктивны сегодня
inactive_weekНеактивны 7+ дней
inactive_monthНеактивны 30+ дней
referralsПришли по рефералу
directПрямая регистрация

Email-фильтры

ФильтрОписание
all_emailВсе с подтверждённым email
email_onlyТолько email-авторизация
telegram_with_emailTelegram + email
active_emailEmail-пользователи с активной подпиской
expired_emailEmail-пользователи с истёкшей подпиской

Инлайн-кнопки

К рассылке можно прикрепить кнопки быстрого действия:
КнопкаДействие
Пополнить балансbalance_topup
Партнёркаmenu_referrals
Промокодmenu_promocode
Подключитьсяsubscription_connect
Подпискаmenu_subscription
Техподдержкаmenu_support
На главнуюback_to_menu (по умолчанию)

Доставка

  • Rate limiting: ~25 сообщений/сек (батчи по 25 с задержкой 1 сек)
  • Повторные попытки: до 3 раз при неудаче
  • FloodWait: глобальная пауза при лимите Telegram
  • Прогресс: обновление каждые 500 сообщений или 5 секунд
  • Заблокированные: пользователи, заблокировавшие бота, помечаются. Триальные/бесплатные подписки отключаются

Статусы рассылки

СтатусОписание
queuedСоздана через API, не запущена
in_progressИдёт отправка
completedВсе доставлены
partialЗавершена с ошибками/блокировками
failedКритическая ошибка
cancelledОстановлена администратором

Остановка рассылки

Через API: POST /broadcasts/{id}/stop — корректная остановка между батчами.

Закреплённые сообщения

Специальный тип контента, отображаемый при каждом /start:
ПараметрОписание
КонтентТекст, фото или видео
send_before_menuДо или после главного меню
send_on_every_startПри каждом /start или только один раз
Варианты доставки”Разослать сейчас” или “Только при /start”

Топик-уведомления для администраторов

Бот отправляет события в Telegram-форум, разделяя по топикам:

Конфигурация топиков

ПеременнаяОписание
ADMIN_NOTIFICATIONS_CHAT_IDID чата (с префиксом -100)
ADMIN_NOTIFICATIONS_TOPIC_IDТопик для общих уведомлений
ADMIN_NOTIFICATIONS_TICKET_TOPIC_IDТопик для тикетов поддержки
ADMIN_NOTIFICATIONS_NALOG_TOPIC_IDТопик для чеков NaloGO
SUSPICIOUS_NOTIFICATIONS_TOPIC_IDТопик для подозрительного трафика
REFERRAL_WITHDRAWAL_NOTIFICATIONS_TOPIC_IDТопик для заявок на вывод
BACKUP_SEND_TOPIC_IDТопик для бэкапов
LOG_ROTATION_TOPIC_IDТопик для архивов логов

Типы событий

СобытиеОписание
Активация триалаНовый триал-пользователь
Покупка подпискиПокупка / продление / конверсия
Продление подпискиРасширение срока
Пополнение балансаНовый платёж
Активация промокодаПромокод использован
Переход по кампанииКлик по deeplink кампании
Смена промо-группыАвтоматическая или ручная
Изменение подпискиТрафик / устройства / серверы
Новая версия ботаОбнаружена в репозитории
ТехработыВключение / выключение
Статус панелиИзменение доступности RemnaWave
Тикеты поддержкиНовые тикеты, ответы, SLA
Подозрительный трафикПревышение порога
Заявка партнёраНовая заявка на партнёрство
Заявка на выводЗапрос вывода средств
Массовый банОперация массовой блокировки

События от RemnaWave (вебхуки)

Если REMNAWAVE_WEBHOOK_ENABLED=true, события от панели пересылаются в чат администраторов:
  • Ноды: создание, изменение, включение/выключение, удаление, потеря/восстановление соединения, трафик
  • Сервис: запуск панели, попытки входа, изменение конфигурации
  • CRM: биллинг нод (оплата через 7 дней, 48ч, 24ч, сегодня, просрочка)

Вебхук-уведомления пользователям

Уведомления пользователям при событиях в RemnaWave панели. Каждый тип переключается отдельно:
ПеременнаяПо умолчаниюСобытие
WEBHOOK_NOTIFY_USER_ENABLEDtrueГлобальный переключатель
WEBHOOK_NOTIFY_SUB_STATUStrueПодписка включена/выключена администратором
WEBHOOK_NOTIFY_SUB_EXPIREDtrueПодписка истекла
WEBHOOK_NOTIFY_SUB_EXPIRINGtrueИстекает через 72ч / 48ч / 24ч
WEBHOOK_NOTIFY_SUB_LIMITEDtrueДостигнут лимит трафика
WEBHOOK_NOTIFY_TRAFFIC_RESETtrueСброс счётчика трафика
WEBHOOK_NOTIFY_SUB_DELETEDtrueПользователь удалён из панели
WEBHOOK_NOTIFY_SUB_REVOKEDtrueКлючи подписки отозваны
WEBHOOK_NOTIFY_FIRST_CONNECTEDtrueПервое VPN-подключение
WEBHOOK_NOTIFY_NOT_CONNECTEDtrueНапоминание о неподключении
WEBHOOK_NOTIFY_BANDWIDTH_THRESHOLDtrueПриближение к лимиту трафика
WEBHOOK_NOTIFY_DEVICEStrueУстройство добавлено/удалено

Уведомления о подписке

Предупреждения об истечении

Настройка через AUTOPAY_WARNING_DAYS (по умолчанию 3,1):
  • За 3 дня — первое предупреждение
  • За 1 день — повторное предупреждение
  • Дедупликация: если уже отправлено более срочное, менее срочное пропускается

Триальные предупреждения

  • За TRIAL_WARNING_HOURS часов (по умолчанию 2) до истечения триала

Волны возврата (Recovery Waves)

Многоступенчатая система для истёкших подписок:
ВолнаКогдаОписание
1 деньЧерез 1 день после истеченияНапоминание о продлении
Волна 2Через 2-3 дняСкидка (по умолчанию 10%), действует 24ч
Волна 3Через N дней (по умолчанию 5)Большая скидка (по умолчанию 20%), действует 24ч
Настраивается через NotificationSettingsService (файл data/notification_settings.json).

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

ПеременнаяПо умолчаниюОписание
ENABLE_AUTOPAYfalseВключить автопродление
AUTOPAY_WARNING_DAYS3,1Дни предупреждений (через запятую)
DEFAULT_AUTOPAY_ENABLEDtrueАвтопродление по умолчанию для новых
DEFAULT_AUTOPAY_DAYS_BEFORE3За сколько дней списывать
MIN_BALANCE_FOR_AUTOPAY_KOPEKS10000Минимальный баланс для автопродления
Уведомления автопродления:
  • Успех — подписка продлена автоматически
  • Недостаточно средств — с cooldown 6 часов между повторами
  • Ошибка — сбой при автопродлении

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

ADMIN_REPORTS_ENABLED=true
ADMIN_REPORTS_CHAT_ID=           # Опционально (fallback на ADMIN_NOTIFICATIONS_CHAT_ID)
ADMIN_REPORTS_TOPIC_ID=          # ID топика для отчётов
ADMIN_REPORTS_SEND_TIME=10:00    # Время отправки (МСК)

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

Система мониторинга отслеживает подозрительное потребление трафика:

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

TRAFFIC_FAST_CHECK_ENABLED=false
TRAFFIC_FAST_CHECK_INTERVAL_MINUTES=10
TRAFFIC_FAST_CHECK_THRESHOLD_GB=5.0

Суточная проверка

TRAFFIC_DAILY_CHECK_ENABLED=false
TRAFFIC_DAILY_CHECK_TIME=00:00
TRAFFIC_DAILY_THRESHOLD_GB=50.0

Фильтрация

ПеременнаяОписание
TRAFFIC_MONITORED_NODESТолько эти ноды (UUID через запятую)
TRAFFIC_IGNORED_NODESИсключить ноды
TRAFFIC_EXCLUDED_USER_UUIDSИсключить пользователей
TRAFFIC_NOTIFICATION_COOLDOWN_MINUTESCooldown уведомлений (60 мин)

Пользовательские настройки уведомлений (Cabinet)

Через Cabinet API пользователи настраивают:
НастройкаПо умолчаниюОписание
subscription_expiry_enabledtrueПредупреждения об истечении
subscription_expiry_days3За сколько дней предупреждать
traffic_warning_enabledtrueПредупреждение о трафике
traffic_warning_percent80Порог (50-99%)
balance_low_enabledtrueНизкий баланс
balance_low_threshold100Порог (копейки)
news_enabledtrueНовости
promo_offers_enabledtrueПромо-предложения