2025-08-04 20:54:55 +03:00
2025-08-04 20:28:40 +03:00
2025-08-04 16:56:55 +03:00
2025-08-04 20:21:34 +03:00
2025-08-04 16:48:42 +03:00
2025-08-04 20:48:09 +03:00
2025-08-04 20:32:08 +03:00
2025-08-04 20:24:20 +03:00
2025-08-04 16:46:02 +03:00
2025-08-04 16:41:11 +03:00
2025-08-04 20:25:27 +03:00
2025-08-04 16:57:24 +03:00
2025-08-04 20:54:55 +03:00
2025-08-04 20:22:55 +03:00
2025-08-04 20:29:03 +03:00
2025-08-04 17:01:03 +03:00
2025-08-04 16:56:34 +03:00
2025-08-04 16:45:21 +03:00

Снимок экрана 2025-08-04 в 17 48 12 Снимок экрана 2025-08-04 в 17 50 04Снимок экрана 2025-08-04 в 17 50 13Снимок экрана 2025-08-04 в 17 50 21Снимок экрана 2025-08-04 в 17 50 34Снимок экрана 2025-08-04 в 17 50 49Снимок экрана 2025-08-04 в 17 52 02Снимок экрана 2025-08-04 в 17 52 09Снимок экрана 2025-08-04 в 17 52 31Снимок экрана 2025-08-04 в 17 52 46Снимок экрана 2025-08-04 в 17 52 55Снимок экрана 2025-08-04 в 17 53 13Снимок экрана 2025-08-04 в 17 53 21Снимок экрана 2025-08-04 в 17 55 41Снимок экрана 2025-08-04 в 17 57 56Снимок экрана 2025-08-04 в 17 58 09Снимок экрана 2025-08-04 в 17 58 30Снимок экрана 2025-08-04 в 17 58 44 Снимок экрана 2025-08-04 в 17 59 22Снимок экрана 2025-08-04 в 17 59 39Снимок экрана 2025-08-04 в 18 00 24Снимок экрана 2025-08-04 в 18 00 36

#Описание

RemnaWave Telegram Bot — это многофункциональный бот для управления подписками(Для каждой подписки возможно назначить свой сквад со своими инбаундами - нововведение Remnawave 2.0.0+), балансом, промокодами, тестовой подпиской и рассылками пользователям через Telegram.

Бот интегрирован с системой RemnaWave версии 2.0.8

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

Мультиязычный интерфейс (на данный момент русский и английский языки)

Создание и покупка подписок с управлением трафиком, длительностью и ценой

Бесплатная тестовая подписка с ограничениями

Пополнение баланса: 1) Через саппорт в ручную 2) Отправка заявки с суммой админу (С возможность подтвердить/отклонить заявку)

Управление балансом пользователей (пополнение, списание)

Промокоды со скидками и ограничениями по использованию

Полноценная админ-панель с контролем пользователей, созданием подписок(Подтягивает UUID сквада из панели), платежей и статистикой

Рассылка сообщений отдельным пользователям и всем сразу

Интеграция с RemnaWave API для управления подписками и пользователями RemnaWave

История платежей(Не работает, в доработке) и управление платежами (подтверждение, отклонение)

#Требования

Pip

Python 3.8+

PostgreSQL, SQLite или другая поддерживаемая SQL-база данных

Токен Telegram-бота

URL и токен RemnaWave API

#Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/Fr1ngg/remnawave-bedolaga-telegram-bot cd remnawave-bedolaga-telegram-bot

  2. Установите python3 python pip

     sudo apt install pip
     sudo apt install python3
    
  3. Установите зависимости:

     pip install -r requirements.txt
    
  4. Создайте файл .env в корне проекта и заполните его необходимыми переменными окружения. Пример:

     BOT_TOKEN=ваш_telegram_bot_token
     REMNAWAVE_URL=https://your-remnawave-url.ru
     REMNAWAVE_MODE=remote/local
     REMNAWAVE_TOKEN=ваш_remnawave_token
     SUBSCRIPTION_BASE_URL=https://
     DATABASE_URL=sqlite+aiosqlite:///bot.db
     ADMIN_IDS=123456789,987654321
     DEFAULT_LANGUAGE=ru
     SUPPORT_USERNAME=support
     TRIAL_ENABLED=true
     TRIAL_DURATION_DAYS=3
     TRIAL_TRAFFIC_GB=2
     TRIAL_SQUAD_UUID=19bd5bde-5eea-4368-809c-6ba1ffb93897
     TRIAL_PRICE=0.0
    
  5. Запустите бота:

  6. Хлебный - создание службы автозапуска, проверка файлов, запуск бота

    chmod +x run.sh
    ./run.sh
    

Если создали службу через скрипт, то запустить бота можно командой

        sudo systemctl start remnawave-bot

Выключить

    sudo systemctl stop remnawave-bot
  1. Для мужчин (Службу там поднять самому, докерфайл собрать или под скрином развернуть - уже твое дело)

    python main.py
    

#Конфигурация

BOT_TOKEN — токен Telegram бота от BotFather.

REMNAWAVE_URL — URL API RemnaWave.

REMNAWAVE_MODE=remote

REMNAWAVE_TOKEN — токен доступа к API RemnaWave.

DATABASE_URL — строка подключения к базе данных.

SUBSCRIPTION_BASE_URL=https://sub.example.com (без / на конце)

ADMIN_IDS — через запятую Telegram ID администраторов.

SUPPORT_USERNAME — ник поддержки, без @ указывать

Параметры тестовой подписки (включение, длительность, трафик, UUID squad, цена).

TRIAL_ENABLED=true/false

TRIAL_DURATION_DAYS=3 (дни)

TRIAL_TRAFFIC_GB=2

TRIAL_SQUAD_UUID=(УКазать UUID сквада из панели!)

TRIAL_PRICE=0.0(не трогать)

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

/start

#Структура проекта

main.py — главный файл запуска.

handlers.py — основные обработчики команд и действий пользователя.

admin_handlers.py — обработчики команд и действий администраторов.

database.py — модели и методы работы с базой данных (SQLAlchemy).

remnawave_api.py — интеграция с API RemnaWave.

keyboards.py — генерация клавиатур Telegram.

translations.py — локализация и переводы.

utils.py — вспомогательные функции.

middlewares.py — промежуточные слои для обработки сообщений и запросов.

.env — файл конфигурации с переменными окружения.

requirements.txt — список зависимостей Python.

run.sh — скрипт установки и управления ботом (опционально).

#Администрирование

Для входа в админ-панель используйте кнопку "⚙️ Админ панель" в главном меню, если вы указаны как администратор в ADMIN_IDS.

В админ-панели доступны:

Управление подписками (создание, редактирование, список, удаление, включение/отключение)

Управление пользователями (просмотр списка, баланс)

Управление балансом (пополнение пользователей через tg id)

Управление промокодами (создание, список)

Одобрение или отклонение платежей (Приходит запрос администраторам)

Отправка сообщений пользователям или массовая рассылка

Просмотр краткой статистики

#ToDo

  1. Код колхозный и не без вайбкодинга тут обошлось, но будет допиливаться, текущая реализация работает - уже хорошо
  2. Подключить различные шлюзы для пополнения баланса
  3. Дописать службу для оповещения об истечении срока подписки и контроля
  4. Синхранизацию с Remnawave между пользователями по тг id
  5. Полнофункциональную панель упарвления
Description
No description provided
Readme MIT 42 MiB
Languages
Python 89.5%
HTML 10.5%