github BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot v2.2.2

latest releases: v3.4.0, v3.3.0, v3.2.0...
5 months ago

What's Changed

  • Уведомления в канал об: 🎯 Активация триала 💎 Покупка подписки 🔄 Конверсия из триала в платную ⏰ Продление подписки 💰 Пополнение баланса by @Fr1ngg in #30

Full Changelog: v2.2.1...v2.2.2

📢 Обновление: Система уведомлений администраторов

🆕 Новые возможности

Уведомления в канал/топик

Добавлена система автоматических уведомлений администраторов о всех важных событиях в боте. Теперь администраторы получают мгновенные уведомления в приватный канал или топик группы.

Типы уведомлений:

  • 🎯 Активация триала - новые пользователи и их параметры
  • 💎 Покупка подписки - новые покупки с полной детализацией
  • 🔄 Конверсия из триала - пользователи, перешедшие на платную подписку
  • Продление подписки - продления существующих подписок
  • 💰 Пополнение баланса - все пополнения через любые способы оплаты

Информация в уведомлениях:

  • Полные данные пользователя (имя, ID, username)
  • Параметры подписки (период, трафик, устройства, серверы)
  • Финансовая информация (сумма, способ оплаты, баланс)
  • Реферальная информация
  • Временные метки

🛠️ Настройка

1. Переменные окружения

Добавьте в файл .env:

# Уведомления администраторов
ADMIN_NOTIFICATIONS_ENABLED=true
ADMIN_NOTIFICATIONS_CHAT_ID=-1001234567890  # ID канала/группы
ADMIN_NOTIFICATIONS_TOPIC_ID=123             # ID топика (опционально)

2. Создание канала

  1. Создайте приватный канал или группу для уведомлений
  2. Добавьте бота как администратора с правами:
    • Отправка сообщений
    • Использование встроенного режима (если нужно)
  3. Получите ID канала:
    • Отправьте любое сообщение в канал
    • Перешлите его боту @userinfobot
    • Скопируйте Chat ID (например: -1001234567890)

3. Настройка топиков (опционально)

Если используете супергруппу с топиками:

  1. Включите топики в настройках группы
  2. Создайте топик для уведомлений (например, "Уведомления")
  3. Получите ID топика:
    • Откройте топик в веб-версии Telegram
    • Скопируйте число после последнего / в URL
    • Или используйте бота для получения message_thread_id

4. Обновление кода

Новые файлы:

  • app/services/admin_notification_service.py - основной сервис уведомлений

Обновленные файлы:

  • app/config.py - добавлены настройки уведомлений
  • app/handlers/subscription.py - интеграция уведомлений при покупках
  • app/services/payment_service.py - уведомления при пополнениях
  • app/database/crud/transaction.py - новая функция получения транзакций

📝 Примеры уведомлений

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

🎯 АКТИВАЦИЯ ТРИАЛА

👤 Пользователь: Иван Петров
🆔 Telegram ID: 123456789
📱 Username: @ivan_petrov
👥 Статус: 🆕 Новый

⏰ Параметры триала:
📅 Период: 3 дня
📊 Трафик: 10 ГБ
📱 Устройства: 2
🌐 Сервер: 🇩🇪 Германия

📆 Действует до: 09.09.2025 15:30
🔗 Реферер: Нет

⏰ 06.09.2025 15:30:15

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

💎 ПОКУПКА ПОДПИСКИ

👤 Пользователь: Иван Петров
🆔 Telegram ID: 123456789
📱 Username: @ivan_petrov
👥 Статус: 🆕 Первая покупка

💰 Платеж:
💵 Сумма: 299.00 ₽
💳 Способ: ⭐ Telegram Stars
🆔 ID транзакции: 15

📱 Параметры подписки:
📅 Период: 30 дней
📊 Трафик: Безлимит
📱 Устройства: 3
🌐 Серверы: 2 шт. (🇩🇪 Германия, 🇺🇸 США)

📆 Действует до: 06.10.2025 15:30
💰 Баланс после покупки: 150.50 ₽
🔗 Реферер: ID 987654321

⏰ 06.09.2025 15:30:45

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

💰 ПОПОЛНЕНИЕ БАЛАНСА

👤 Пользователь: Иван Петров
🆔 Telegram ID: 123456789
📱 Username: @ivan_petrov
💳 Статус: 🆕 Первое пополнение

💰 Детали пополнения:
💵 Сумма: 500.00 ₽
💳 Способ: 💳 YooKassa (карта)
🆔 ID транзакции: 12

💰 Баланс:
📉 Было: 50.00 ₽
📈 Стало: 550.00 ₽
➕ Изменение: +500.00 ₽

🔗 Реферер: Нет
📱 Подписка: ✅ Активна (до 15.10)

⏰ 06.09.2025 15:25:30

🔧 Техническая информация

Архитектура

  • Асинхронная отправка - уведомления не блокируют основной поток
  • Обработка ошибок - система продолжает работать при проблемах с отправкой
  • Логирование - все события записываются в логи для отладки

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

  • Уведомления отправляются только в настроенный приватный канал
  • Конфиденциальные данные (пароли, токены) не передаются
  • Поддержка топиков для организации уведомлений

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

  • Минимальное влияние на скорость работы бота
  • Уведомления обрабатываются в фоновом режиме
  • Автоматическое восстановление при временных сбоях

🚀 Преимущества

  • Мгновенная аналитика - видите активность в реальном времени
  • Контроль конверсий - отслеживайте переход с триала на платные подписки
  • Финансовый мониторинг - все платежи и пополнения под контролем
  • Реферальная аналитика - отслеживайте эффективность реферальной программы
  • Удобство - вся информация в одном месте без необходимости заходить в админку

⚠️ Важные моменты

  1. Приватность канала - убедитесь, что канал приватный и доступ имеют только администраторы
  2. Права бота - бот должен иметь права на отправку сообщений в канал
  3. ID канала - для приватных каналов используйте формат -100XXXXXXXXX

🔍 Отладка

Если уведомления не приходят:

  1. Проверьте правильность ID канала в .env
  2. Убедитесь, что бот добавлен в канал как администратор!
  3. Проверьте логи бота на ошибки отправки

Исправление ошибки удаления пользователей после обновления v2.2.1

Исправленные ошибки

Критическая ошибка foreign key при удалении пользователей

  • Проблема: Ошибка subscription_conversions_user_id_fkey при удалении пользователя через админку
  • Решение: Добавлено удаление записей из таблицы subscription_conversions в процесс удаления пользователя
  • Файл: app/services/user_service.py

Что изменилось

  • Добавлен блок удаления записей конверсий подписок в метод delete_user_account
  • Улучшено логирование процесса удаления

Теперь удаление пользователей через админ-панель работает корректно без ошибок foreign key.

Don't miss a new remnawave-bedolaga-telegram-bot release

NewReleases is sending notifications on new releases.