2025-08-15 06:39:39 +03:00
2025-08-05 07:30:52 +03:00
2025-08-12 01:05:39 +03:00
2025-08-12 03:49:13 +03:00
2025-08-14 05:08:03 +03:00
2025-08-09 08:24:02 +03:00
2025-08-15 04:56:43 +03:00
2025-08-14 04:44:09 +03:00
2025-08-12 19:10:37 +03:00
2025-08-14 04:36:58 +03:00
2025-08-15 04:54:53 +03:00
2025-08-05 05:32:03 +03:00
2025-08-11 22:54:05 +03:00
2025-08-15 04:19:40 +03:00
2025-08-15 04:19:58 +03:00
2025-08-04 16:41:11 +03:00
2025-08-13 07:55:50 +03:00
2025-08-14 04:36:41 +03:00
2025-08-05 05:31:27 +03:00
2025-08-09 06:59:52 +03:00
2025-08-15 05:35:18 +03:00
2025-08-10 03:27:15 +03:00
2025-08-14 04:41:38 +03:00
2025-08-05 05:30:43 +03:00
2025-08-11 02:47:05 +03:00
2025-08-13 06:37:10 +03:00
2025-08-14 04:38:12 +03:00
2025-08-10 03:22:42 +03:00
2025-08-14 04:38:58 +03:00

🤖 Remnawave Bedolaga Bot

Docker Image Python PostgreSQL License Stars

Logo

Современный Telegram-бот для управления VPN подписками через Remnawave API

Полнофункциональное решение с управлением пользователями, платежами и администрированием

🚀 Быстрый старт📖 Документация💬 Поддержка🤝 Вклад


Основные возможности

👤 Для пользователей

  • 💰 Управление балансом - Telegram Stars + Telegram Tribute + P2P через поддержку
  • 🛒 Покупка подписок - различные тарифы с настройкой squad
  • 📱 Управление подписками - просмотр, продление, ссылки, настройка автопродления
  • 🎁 Промокоды - денежные бонусы
  • 👥 Реферальная программа - зарабатывай с друзей и их последующих пополнений
  • 🎰 Игра удачи - ежедневные бонусы
  • 🆓 Тестовая подписка - бесплатная пробная версия
  • ♾️ Автопродление - настраиваемое автообновление
  • 🌐 Мультиязычность - русский и английский

⚙️ Для администраторов

  • 📊 Детальная статистика - пользователи, платежи, подписки
  • 👥 Управление пользователями - поиск, редактирование, баланс
  • 💳 Управление платежами - одобрение, история, Telegram Stars
  • 🎫 Управление промокодами - создание, статистика, массовые операции
  • 🖥 Мониторинг системы - состояние нод, синхронизация с Remnawave
  • 📨 Рассылки - уведомления пользователям
  • 🔍 Мониторинг подписок - автоуведомления об истечении
  • 📋 Правила сервиса - настройка через админ-панель
  • ♾️ Статистика автопродления - полный контроль

🚀 Быстрый старт

Автоматическая установка (Ubuntu)

Установите бота одной командой с интерактивным мастером настройки:

curl -sSL https://github.com/Fr1ngg/remnawave-bedolaga-telegram-bot/raw/main/bedolaga.sh | sudo bash
🔧 Что делает установщик
  • Обновляет систему Ubuntu
  • Устанавливает Docker и зависимости
  • Создает структуру проекта в /opt/bedolaga-bot
  • Интерактивная настройка всех параметров
  • Создает systemd службу (опционально)
  • Запускает удобное меню управления

🎛 Интерактивное меню управления

После установки вы получаете полнофункциональное меню:

Интерфейс управления ботом

Доступные действия:

  • 🚀 Запуск/остановка/перезапуск бота
  • 📺 Просмотр логов в реальном времени
  • 💾 Создание и восстановление резервных копий БД
  • ✏️ Редактирование конфигурации
  • 🩺 Диагностика и устранение проблем
  • 🔄 Автообновление бота

📖 Документация

🎯 Варианты установки

Сценарий Описание Команда
🏠 Локальная установка Панель + бот на одном сервере ./bedolaga.sh → вариант 2
🌐 Удаленная установка Бот отдельно от панели ./bedolaga.sh → вариант 1
Расширенная С Redis и Nginx ./bedolaga.sh → вариант 3

⚙️ Ключевые настройки

📋 Основные параметры
Переменная Описание Пример
BOT_TOKEN Токен от @BotFather 123456:ABC-DEF...
BOT_USERNAME Username бота (без @) your_bot
REMNAWAVE_URL URL панели Remnawave https://panel.com
REMNAWAVE_TOKEN API токен панели your_api_token
ADMIN_IDS ID администраторов 123456789,987654321
🎁 Реферальная программа
Переменная Описание По умолчанию
REFERRAL_FIRST_REWARD Награда за первого реферала 100.0
REFERRAL_REFERRED_BONUS Бонус приглашенному 100.0
REFERRAL_THRESHOLD Порог активации (руб.) 200.0
REFERRAL_PERCENTAGE % с последующих платежей 0.2 (20%)
Telegram Stars
Переменная Описание Пример
STARS_ENABLED Включить оплату звездами true
STARS_100_RATE Курс 100 звезд → рублей 110
STARS_250_RATE Курс 250 звезд → рублей 280
STARS_500_RATE Курс 500 звезд → рублей 550
Telegram Tribute
Переменная Описание Пример
TRIBUTE_ENABLED Включить оплату с помощью доната на Tribute false
TRIBUTE_API_KEY API ключ из настроек Tribute XXXXXXXXXXX
TRIBUTE_WEBHOOK_PORT Порт 8081
TRIBUTE_WEBHOOK_PATH URL Webhook Path /tribute-webhook
TRIBUTE_DONATE_LINK Ссылка на ваш донат из Tribute https://t.me/tribute/app?startapp=XXXXXXXXXXXXX
🔍 Мониторинг подписок
Переменная Описание По умолчанию
MONITOR_ENABLED Включить мониторинг true
MONITOR_CHECK_INTERVAL Интервал проверки (сек) 1800 (30 мин)
MONITOR_WARNING_DAYS За сколько дней предупреждать 3
AUTO_DELETE_ENABLED Автоудаление истекших true
Триал
Переменная Описание По умолчанию
TRIAL_ENABLED Включить триал true
TRIAL_DURATION_DAYS Дней триала 3
TRIAL_SQUAD_UUID Сквад триальной подписки ``
TRIAL_NOTIFICATION_ENABLED Уведомление об истечении триал подписки true
TRIAL_NOTIFICATION_HOURS_AFTER Через сколько отсылать сообщение 1
TRIAL_NOTIFICATION_HOURS_WINDOW Через сколько выслать повторно ``
⚙️ Настройка Telegram Tribute
  1. Обновляемся до версии 1.4.0
  2. Регистрируемся и проходим верификацию в Tribute
  3. Создаем донат ссылку, копируем вставляем в .env бота, конфигурируем остальные параметры из .env.example для работы Tribute
  4. Настраиваем обратное прокси на /tribute-webhook

3.1 Пример для докера Caddy

https://test.example.com {
    # Tribute webhook endpoint
    handle /tribute-webhook* {
        reverse_proxy localhost:8081 {
            header_up Host {host}
            header_up X-Real-IP {remote_host}
        }
    }

    # Health check для webhook сервиса
    handle /webhook-health {
        reverse_proxy localhost:8081/health {
            header_up Host {host}
            header_up X-Real-IP {remote_host}
        }
    }

3.2 Пример для докера с Nginx

 server {
    listen 80;
    server_name yourdomain.com;

    location /tribute-webhook {
        proxy_pass http://127.0.0.1:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    
        client_max_body_size 10M;
    }

    location /webhook-health {
        proxy_pass http://127.0.0.1:8081/health;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

3.3 Рестартим Бота, рестратим Caddy/Nginx

  1. Указываем ссылку на наш хук в настройках Tribute: https://test.example.com/tribute-webhook

  2. Делаем тест - если успешно, значит все настроили правильно. Не успешный тест - проверяй доступность хука, где-то ты что-то не так настроил

  3. Тестируем пополнение через бота

🐳 Docker Compose примеры

🏠 Для локальной установки (панель + бот)
services:
  postgres:
    image: postgres:15-alpine
    container_name: remnawave_bot_db
    restart: unless-stopped
    environment:
      POSTGRES_DB: remnawave_bot
      POSTGRES_USER: remnawave_user
      POSTGRES_PASSWORD: secure_password_123
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - remnawave-network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U remnawave_user -d remnawave_bot"]

  bot:
    image: fr1ngg/remnawave-bedolaga-telegram-bot:latest
    container_name: remnawave_bot
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    env_file:
      - .env
    environment:
      DATABASE_URL: postgresql+asyncpg://remnawave_user:secure_password_123@postgres:5432/remnawave_bot
    volumes:
      - ./logs:/app/logs
      - ./data:/app/data
    ports:
      - "8081:8081"
    networks:
      - remnawave-network

volumes:
  postgres_data:

networks:
  bot_network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.20.0.0/16
🌐 Для удаленной установки
services:
  postgres:
    image: postgres:15-alpine
    container_name: remnawave_bot_db
    restart: unless-stopped
    environment:
      POSTGRES_DB: remnawave_bot
      POSTGRES_USER: remnawave_user
      POSTGRES_PASSWORD: secure_password_123
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - bot_network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U remnawave_user -d remnawave_bot"]

  bot:
    image: fr1ngg/remnawave-bedolaga-telegram-bot:latest
    container_name: remnawave_bot
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    env_file:
      - .env
    environment:
      DATABASE_URL: postgresql+asyncpg://remnawave_user:secure_password_123@postgres:5432/remnawave_bot
    volumes:
      - ./logs:/app/logs
      - ./data:/app/data
    ports:
      - "8081:8081"
    networks:
      - bot_network

volumes:
  postgres_data:

networks:
  bot_network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.20.0.0/16

🎯 Использование

👤 Для пользователей

  1. Запуск → Найдите бота и нажмите /start
  2. Язык → Выберите русский или английский
  3. Баланс → "💰 Баланс" → "💳 Пополнить" → Telegram Stars
  4. Подписка → "🛒 Купить подписку" → выбор тарифа → оплата
  5. Управление → "📋 Мои подписки" → выбор → получение ссылки
  6. Рефералы → "👥 Рефералы" → поделиться ссылкой

⚙️ Для администраторов

Доступ через кнопку "⚙️ Админ панель":

  • 📦 Управление подписками → создание и настройка тарифов
  • 👥 Управление пользователями → поиск, редактирование балансов
  • 💰 Управление платежами → одобрение Telegram Stars платежей
  • 🎁 Промокоды → создание денежных бонусов
  • 📨 Рассылки → уведомления пользователям
  • 🖥 Система Remnawave → мониторинг нод, синхронизация
  • 📊 Статистика → подробная аналитика

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

💪 Рекомендуемые ресурсы

Пользователей RAM CPU Диск Описание
До 500 1GB 1 vCPU 10GB Начальная конфигурация
До 1,000 2GB 1 vCPU 20GB Малый бизнес
До 10,000 4GB 2 vCPU 50GB Средний бизнес
До 50,000 8GB 4 vCPU 100GB Крупный бизнес

Оптимизация

  • Redis → включите для кэширования (--profile with-redis)
  • PostgreSQL → настройте для production нагрузок
  • Nginx → используйте как reverse proxy (--profile with-nginx)
  • Мониторинг → отслеживайте через docker stats

🔧 Управление

📋 Основные команды

# Переход в директорию
cd /opt/bedolaga-bot

# Управление через Docker Compose
docker compose up -d           # Запуск
docker compose down            # Остановка  
docker compose restart bot     # Перезапуск бота
docker compose logs -f bot     # Логи в реальном времени

# Управление через systemd (если настроено)
sudo systemctl start bedolaga-bot
sudo systemctl stop bedolaga-bot
sudo systemctl restart bedolaga-bot

🔄 Обновление

# Автоматическое через меню
sudo ./bedolaga.sh

# Ручное обновление
docker compose down
docker compose pull bot
docker compose up -d

💾 Резервное копирование

# Создание backup
docker exec remnawave_bot_db pg_dump -U remnawave_user remnawave_bot > backup.sql

# Восстановление
docker exec -i remnawave_bot_db psql -U remnawave_user remnawave_bot < backup.sql

🐛 Устранение неполадок

Частые проблемы

🤖 Бот не отвечает

Проверьте:

  • Правильность BOT_TOKEN
  • Интернет соединение
  • Логи: docker compose logs bot

Решение:

# Перезапуск бота
docker compose restart bot

# Проверка токена
docker exec remnawave_bot env | grep BOT_TOKEN
🗄️ Ошибки базы данных

Симптомы:

  • SQL ошибки в логах
  • Бот не сохраняет данные

Решение:

# Проверка PostgreSQL
docker compose logs postgres

# Подключение к БД
docker exec -it remnawave_bot_db psql -U remnawave_user remnawave_bot

# Экстренное восстановление через меню
sudo ./bedolaga.sh → "10) Экстренное исправление БД"
🔌 Проблемы с Remnawave API

Проверьте:

  • Доступность REMNAWAVE_URL
  • Валидность REMNAWAVE_TOKEN
  • Сетевое подключение

Диагностика:

# Проверка URL
curl -I https://your-panel.com

# Тест API из контейнера
docker exec remnawave_bot curl -I http://remnawave:3000
⚠️ Проблема обновления 1.3.3 → 1.3.4

Симптом: SQL ошибки после обновления связанные с автоплатежами

Решение через меню:

sudo ./bedolaga.sh
# Выберите: "10) Экстренное исправление БД (Python)"
# Или: "11) Экстренное исправление БД (SQL)"

Ручное решение:

  1. Скачайте emergency_fix.py
  2. Добавьте в docker-compose.yml:
emergency-fix:
  image: fr1ngg/remnawave-bedolaga-telegram-bot:latest
  volumes:
    - ./emergency_fix.py:/app/emergency_fix.py
  environment:
    - DATABASE_URL=postgresql+asyncpg://remnawave_user:secure_password_123@postgres:5432/remnawave_bot
  networks:
    - bot_network
  profiles:
    - emergency
  command: python emergency_fix.py
  1. Запустите: docker compose run --rm emergency-fix

🗺️ Roadmap

Реализовано

  • Мониторинг подписок - автоуведомления и контроль
  • Telegram Stars - пополнение баланса звездами
  • Синхронизация Remnawave - импорт пользователей и статистика
  • Реферальная система - полнофункциональная программа
  • Игра удачи - ежедневные розыгрыши бонусов
  • Управление промокодами - создание, редактирование, статистика
  • Правила сервиса - настройка через админ-панель
  • Автоплатежи - настраиваемое автопродление подписок
  • Просмотр подписок пользователей - детальная статистика
    • Автоматическое пополнение лк с помощью доната Tribute

🎯 В планах

Версия Функция Приоритет Описание
v1.4.5 Юкасса интеграция 🔴 High Автоматические платежи
v1.4.5 Веб-панель управления 🟡 Medium Полный веб-интерфейс
v1.4.5 Безопасное удаление 🟡 Medium Архивирование вместо удаления
v1.5.0 Дополнительные платежи 🟡 Medium Сбербанк, Tinkoff, Crypto
v1.5.0 Уведомления 🟡 Medium Webhook, Email, другие чаты
v1.6.0 Система блокировок 🟢 Low Бан/разбан пользователей

💡 Хотите добавить функцию?


🤝 Вклад в проект

💪 Как помочь

🔧 Разработчикам:

  • Fork репозитория
  • Создайте feature branch: git checkout -b feature/amazing-feature
  • Внесите изменения и сделайте commit: git commit -m 'Add amazing feature'
  • Push в branch: git push origin feature/amazing-feature
  • Создайте Pull Request

🐞 Пользователям:

  • Сообщайте о багах в Issues
  • Предлагайте идеи в Discussions
  • Ставьте проекту
  • Рассказывайте друзьям

💰 Спонсорам:

  • Поддержите разработку
  • Закажите приоритетные функции
  • Получите корпоративную поддержку

💬 Поддержка

📞 Контакты

📚 Полезные ссылки


📄 Лицензия

Проект распространяется под лицензией MIT. Подробности в файле LICENSE.


🌟 Понравился проект? Поставьте звезду!

Star History Chart


💝 Создано с любовью для Remnawave сообщества

Автор не является профессиональным разработчиком, но прикладывает все усилия для создания удобного бота для ваших сервисов 💪

🔝 Вернуться наверх

Description
No description provided
Readme MIT 42 MiB
Languages
Python 89.5%
HTML 10.5%