mirror of
https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot.git
synced 2026-05-04 03:36:24 +00:00
Update README.md
This commit is contained in:
273
README.md
273
README.md
@@ -130,8 +130,8 @@ docker compose logs
|
||||
|
||||
Если бот уже развернут в режиме polling или с отдельными контейнерами для `payments-webhook`, выполните переход на единую схему:
|
||||
|
||||
1. **Обновите `.env`:** установите `BOT_RUN_MODE=webhook` (или `both` для гибридного режима), задайте `WEBHOOK_URL`, `WEBHOOK_PATH` и обязательно сгенерируйте собственный `WEBHOOK_SECRET_TOKEN`.
|
||||
2. **Проверьте `docker-compose.*`:** оставьте публикацию только порта `8080` у сервиса `bot`. Все значения `*_WEBHOOK_PORT` теперь используются лишь для обратной совместимости и могут быть удалены.
|
||||
1. **Обновите `.env`:** установите `BOT_RUN_MODE=webhook` (или `both` для гибридного режима), задайте `WEBHOOK_URL`, `WEBHOOK_PATH` и обязательно сгенерируйте собственный `WEBHOOK_SECRET_TOKEN` командой `openssl rand -hex 32`.
|
||||
2. **Проверьте `docker-compose.*`:** оставьте публикацию только порта `8080` у сервиса `remnawave_bot`. Все значения `*_WEBHOOK_PORT` теперь используются лишь для обратной совместимости и могут быть удалены.
|
||||
3. **Обновите прокси:** перенаправляйте *все* пути (`/webhook`, `/yookassa-webhook`, `/cryptobot-webhook`, `/miniapp/static`, `/app-config.json` и т.д.) на один upstream `remnawave_bot:8080`. Примеры Caddy/nginx ниже можно адаптировать к текущей инфраструктуре.
|
||||
4. **Перезапустите сервисы:** `docker compose up -d --force-recreate bot` и затем перезагрузите прокси. После запуска бот автоматически зарегистрирует новый webhook.
|
||||
5. **Проверьте здоровье:** `curl http://localhost:8080/health/unified` (или `/health`, если административное API отключено) и `curl http://localhost:8080/health/telegram-webhook`. Убедитесь, что в логах нет ошибок регистрации webhook.
|
||||
@@ -259,6 +259,11 @@ bot.example.com {
|
||||
}
|
||||
```
|
||||
|
||||
####
|
||||
|
||||
Либо вместо `remnawave_bot:8080` используйте `localhost:8080`
|
||||
|
||||
|
||||
### 6. Пример nginx-конфига
|
||||
|
||||
```yaml
|
||||
@@ -318,6 +323,10 @@ http {
|
||||
}
|
||||
```
|
||||
|
||||
####
|
||||
|
||||
Либо вместо `remnawave_bot:8080` используйте `localhost:8080`
|
||||
|
||||
Рекомендации:
|
||||
|
||||
- Откройте входящие 80/443 в фаерволе.
|
||||
@@ -333,10 +342,10 @@ http {
|
||||
| Настройка | Где взять | Пример |
|
||||
|-----------|-----------|---------|
|
||||
| 🤖 **BOT_TOKEN** | [@BotFather](https://t.me/BotFather) | `1234567890:AABBCCdd...` |
|
||||
| 🔑 **REMNAWAVE_API_KEY** | Твоя Remnawave панель | `eyJhbGciOiJIUzI1...` |
|
||||
| 🌐 **REMNAWAVE_API_URL** | URL твоей панели | `https://panel.example.com` |
|
||||
| 🛡️ **REMNAWAVE_SECRET_KEY** | Ключ защиты панели | `secret_name:secret_value` |
|
||||
| 👑 **ADMIN_IDS** | Твой Telegram ID | `123456789,987654321` |
|
||||
| **BOT_RUN_MODE** | определяет способ приёма обновлений: `polling`, `webhook` или `both`, чтобы одновременно использовать оба режима.
|
||||
|
||||
[Полный список доступных параметров:](remnawave-bedolaga-telegram-bot/blob/main/.env.example)
|
||||
|
||||
### 🌐 Интеграция веб-админки
|
||||
|
||||
@@ -468,211 +477,6 @@ MONITORING_INTERVAL=60
|
||||
REDIS_URL=redis://redis:6379/0
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>🔧 Полная конфигурация .env</summary>
|
||||
|
||||
```env
|
||||
# ===============================================
|
||||
# 🤖 REMNAWAVE BEDOLAGA BOT CONFIGURATION
|
||||
# ===============================================
|
||||
|
||||
# ===== TELEGRAM BOT =====
|
||||
BOT_TOKEN=
|
||||
ADMIN_IDS=
|
||||
SUPPORT_USERNAME=@support
|
||||
|
||||
# Уведомления администраторов
|
||||
ADMIN_NOTIFICATIONS_ENABLED=true
|
||||
ADMIN_NOTIFICATIONS_CHAT_ID=-1001234567890
|
||||
ADMIN_NOTIFICATIONS_TOPIC_ID=123
|
||||
ADMIN_NOTIFICATIONS_TICKET_TOPIC_ID=126
|
||||
|
||||
# Автоматические отчеты
|
||||
ADMIN_REPORTS_ENABLED=false
|
||||
ADMIN_REPORTS_SEND_TIME=10:00
|
||||
|
||||
# Обязательная подписка на канал
|
||||
CHANNEL_SUB_ID=
|
||||
CHANNEL_IS_REQUIRED_SUB=false
|
||||
CHANNEL_LINK=
|
||||
|
||||
# ===== DATABASE CONFIGURATION =====
|
||||
DATABASE_MODE=auto
|
||||
DATABASE_URL=
|
||||
|
||||
# PostgreSQL настройки
|
||||
POSTGRES_HOST=postgres
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_DB=remnawave_bot
|
||||
POSTGRES_USER=remnawave_user
|
||||
POSTGRES_PASSWORD=secure_password_123
|
||||
|
||||
# Redis
|
||||
REDIS_URL=redis://redis:6379/0
|
||||
|
||||
# ===== REMNAWAVE API =====
|
||||
REMNAWAVE_API_URL=https://panel.example.com
|
||||
REMNAWAVE_API_KEY=your_api_key_here
|
||||
REMNAWAVE_AUTH_TYPE=api_key
|
||||
REMNAWAVE_SECRET_KEY=
|
||||
|
||||
# Автосинхронизация
|
||||
REMNAWAVE_AUTO_SYNC_ENABLED=true
|
||||
REMNAWAVE_AUTO_SYNC_TIMES=03:00,15:00
|
||||
|
||||
# Шаблон описания пользователя
|
||||
REMNAWAVE_USER_DESCRIPTION_TEMPLATE="Bot user: {full_name} {username}"
|
||||
# Шаблон имени пользователя в панели
|
||||
REMNAWAVE_USER_USERNAME_TEMPLATE="user_{telegram_id}"
|
||||
REMNAWAVE_USER_DELETE_MODE=delete
|
||||
|
||||
# ===== ПОДПИСКИ =====
|
||||
TRIAL_DURATION_DAYS=3
|
||||
TRIAL_TRAFFIC_LIMIT_GB=10
|
||||
TRIAL_DEVICE_LIMIT=1
|
||||
|
||||
DEFAULT_DEVICE_LIMIT=3
|
||||
MAX_DEVICES_LIMIT=15
|
||||
|
||||
# ===== НАСТРОЙКИ ТРАФИКА =====
|
||||
TRAFFIC_SELECTION_MODE=selectable
|
||||
FIXED_TRAFFIC_LIMIT_GB=100
|
||||
AVAILABLE_SUBSCRIPTION_PERIODS=30,90,180
|
||||
AVAILABLE_RENEWAL_PERIODS=30,90,180
|
||||
|
||||
# ===== ЦЕНЫ (в копейках) =====
|
||||
BASE_SUBSCRIPTION_PRICE=0
|
||||
PRICE_14_DAYS=7000
|
||||
PRICE_30_DAYS=9900
|
||||
PRICE_60_DAYS=25900
|
||||
PRICE_90_DAYS=36900
|
||||
PRICE_180_DAYS=69900
|
||||
PRICE_360_DAYS=109900
|
||||
|
||||
# Скидки для базовых пользователей
|
||||
BASE_PROMO_GROUP_PERIOD_DISCOUNTS_ENABLED=false
|
||||
BASE_PROMO_GROUP_PERIOD_DISCOUNTS=60:10,90:20,180:40,360:70
|
||||
|
||||
TRAFFIC_PACKAGES_CONFIG="5:2000:false,10:3500:false,25:7000:false,50:11000:true,100:15000:true,0:20000:true"
|
||||
PRICE_PER_DEVICE=5000
|
||||
DEVICES_SELECTION_ENABLED=true
|
||||
# Единое количество устройств для режима без выбора (0 — не назначать устройства)
|
||||
DEVICES_SELECTION_DISABLED_AMOUNT=0
|
||||
|
||||
# ===== РЕФЕРАЛЬНАЯ СИСТЕМА =====
|
||||
REFERRAL_PROGRAM_ENABLED=true
|
||||
REFERRAL_MINIMUM_TOPUP_KOPEKS=10000
|
||||
REFERRAL_FIRST_TOPUP_BONUS_KOPEKS=10000
|
||||
REFERRAL_INVITER_BONUS_KOPEKS=10000
|
||||
REFERRAL_COMMISSION_PERCENT=25
|
||||
|
||||
# ===== АВТОПРОДЛЕНИЕ =====
|
||||
AUTOPAY_WARNING_DAYS=3,1
|
||||
DEFAULT_AUTOPAY_ENABLED=true
|
||||
DEFAULT_AUTOPAY_DAYS_BEFORE=3
|
||||
MIN_BALANCE_FOR_AUTOPAY_KOPEKS=10000
|
||||
|
||||
# ===== ПЛАТЕЖНЫЕ СИСТЕМЫ =====
|
||||
|
||||
# Telegram Stars
|
||||
TELEGRAM_STARS_ENABLED=true
|
||||
TELEGRAM_STARS_RATE_RUB=1.3
|
||||
|
||||
# Tribute
|
||||
TRIBUTE_ENABLED=false
|
||||
TRIBUTE_API_KEY=
|
||||
TRIBUTE_WEBHOOK_PATH=/tribute-webhook
|
||||
|
||||
# YooKassa
|
||||
YOOKASSA_ENABLED=false
|
||||
YOOKASSA_SHOP_ID=
|
||||
YOOKASSA_SECRET_KEY=
|
||||
YOOKASSA_SBP_ENABLED=false
|
||||
YOOKASSA_WEBHOOK_PATH=/yookassa-webhook
|
||||
|
||||
# CryptoBot
|
||||
CRYPTOBOT_ENABLED=false
|
||||
CRYPTOBOT_API_TOKEN=
|
||||
CRYPTOBOT_WEBHOOK_PATH=/cryptobot-webhook
|
||||
|
||||
# Heleket
|
||||
HELEKET_ENABLED=false
|
||||
HELEKET_MERCHANT_ID=
|
||||
HELEKET_API_KEY=
|
||||
HELEKET_WEBHOOK_PATH=/heleket-webhook
|
||||
HELEKET_WEBHOOK_PORT=8086
|
||||
|
||||
# MulenPay
|
||||
MULENPAY_ENABLED=false
|
||||
MULENPAY_API_KEY=
|
||||
MULENPAY_SECRET_KEY=
|
||||
MULENPAY_SHOP_ID=
|
||||
MULENPAY_WEBHOOK_PATH=/mulenpay-webhook
|
||||
|
||||
# PayPalych / Pal24
|
||||
PAL24_ENABLED=false
|
||||
PAL24_API_TOKEN=
|
||||
PAL24_SHOP_ID=
|
||||
PAL24_WEBHOOK_PATH=/pal24-webhook
|
||||
PAL24_SBP_BUTTON_VISIBLE=true
|
||||
PAL24_CARD_BUTTON_VISIBLE=true
|
||||
|
||||
# WATA
|
||||
WATA_ENABLED=false
|
||||
WATA_TOKEN=
|
||||
WATA_TERMINAL_ID=
|
||||
WATA_WEBHOOK_PATH=/wata-webhook
|
||||
WATA_WEBHOOK_HOST=0.0.0.0
|
||||
WATA_WEBHOOK_PORT=8085
|
||||
|
||||
# ===== ИНТЕРФЕЙС И UX =====
|
||||
ENABLE_LOGO_MODE=true
|
||||
LOGO_FILE=vpn_logo.png
|
||||
MAIN_MENU_MODE=default
|
||||
HIDE_SUBSCRIPTION_LINK=false
|
||||
CONNECT_BUTTON_MODE=guide
|
||||
|
||||
# ===== МОНИТОРИНГ И УВЕДОМЛЕНИЯ =====
|
||||
MONITORING_INTERVAL=60
|
||||
ENABLE_NOTIFICATIONS=true
|
||||
NOTIFICATION_RETRY_ATTEMPTS=3
|
||||
|
||||
# ===== СТАТУС СЕРВЕРОВ =====
|
||||
SERVER_STATUS_MODE=disabled
|
||||
SERVER_STATUS_EXTERNAL_URL=
|
||||
SERVER_STATUS_METRICS_URL=
|
||||
SERVER_STATUS_ITEMS_PER_PAGE=10
|
||||
|
||||
# ===== РЕЖИМ ТЕХНИЧЕСКИХ РАБОТ =====
|
||||
MAINTENANCE_MODE=false
|
||||
MAINTENANCE_CHECK_INTERVAL=30
|
||||
MAINTENANCE_AUTO_ENABLE=true
|
||||
MAINTENANCE_MONITORING_ENABLED=true
|
||||
MAINTENANCE_RETRY_ATTEMPTS=1
|
||||
|
||||
# ===== ЛОКАЛИЗАЦИЯ =====
|
||||
DEFAULT_LANGUAGE=ru
|
||||
AVAILABLE_LANGUAGES=ru,en
|
||||
LANGUAGE_SELECTION_ENABLED=true
|
||||
|
||||
# ===== СИСТЕМА БЕКАПОВ =====
|
||||
BACKUP_AUTO_ENABLED=true
|
||||
BACKUP_INTERVAL_HOURS=24
|
||||
BACKUP_TIME=03:00
|
||||
BACKUP_MAX_KEEP=7
|
||||
BACKUP_SEND_ENABLED=true
|
||||
|
||||
# ===== ПРОВЕРКА ОБНОВЛЕНИЙ БОТА =====
|
||||
VERSION_CHECK_ENABLED=true
|
||||
VERSION_CHECK_INTERVAL_HOURS=1
|
||||
|
||||
# ===== ЛОГИРОВАНИЕ =====
|
||||
LOG_LEVEL=INFO
|
||||
LOG_FILE=logs/bot.log
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
#### ⭐ Функционал
|
||||
@@ -703,6 +507,7 @@ LOG_FILE=logs/bot.log
|
||||
- 🔔 Уведомления об истечении и автоконверсия
|
||||
- 💎 Автовыдача бонусов за кампании и инвайты
|
||||
- 🛡️ Контроль обязательной подписки на канал (отключает подписку при отписке)
|
||||
- 💎 Автовыдача сквада из пула выбранных
|
||||
|
||||
💰 **Платежи и баланс**
|
||||
- ⭐ Telegram Stars
|
||||
@@ -733,7 +538,7 @@ LOG_FILE=logs/bot.log
|
||||
- 💬 Быстрые ссылки на поддержку
|
||||
|
||||
🧩 **Бонусы и промо**
|
||||
- 🎫 Промокоды на деньги, дни, триал подписку
|
||||
- 🎫 Промокоды на деньги, дни, триал подписку, промогруппу
|
||||
- 🎁 **Персональные промо-предложения** от админов
|
||||
- 💰 **Тестовый доступ к серверам** через промо-акции
|
||||
- 💸 **Автоматические скидки** при оплате и автопродлении
|
||||
@@ -742,7 +547,7 @@ LOG_FILE=logs/bot.log
|
||||
- 🔗 Генерация реферальных ссылок и QR кодов
|
||||
|
||||
💎 **Промо-группы и скидки**
|
||||
- 🏷️ **Система промогрупп** с индивидуальными скидками
|
||||
- 🏷️ **Система промогрупп** с индивидуальными скидками с приоритетами
|
||||
- 💰 Скидки на серверы, трафик и устройства
|
||||
- 📊 **Скидочные уровни за траты** - прозрачная система лояльности
|
||||
- 📈 Автоматическое повышение уровня при достижении порога
|
||||
@@ -809,7 +614,6 @@ LOG_FILE=logs/bot.log
|
||||
- 💬 Автоматические сообщения о задолженностях
|
||||
|
||||
🧰 **Обслуживание и DevOps**
|
||||
- 🛠️ `install_bot.sh` - **интерактивное меню управления**
|
||||
- 🚧 Ручной и авто-режим техработ
|
||||
- 🗒️ Просмотр системных логов и health-check
|
||||
- 🔄 **Автосинхронизация Remnawave** по расписанию и при старте бота
|
||||
@@ -850,8 +654,9 @@ LOG_FILE=logs/bot.log
|
||||
- 🧠 **Асинхронная архитектура** - aiogram 3, PostgreSQL/SQLite, Redis и очереди задач
|
||||
- 🌐 **Мультиязычность** - локализации RU/EN, быстрый выбор языка
|
||||
- 📦 **Интеграция с Remnawave API** - автоматическое создание пользователей и синхронизация
|
||||
- 🔄 **Миграция сквадов** - массовый перенос пользователей между серверами
|
||||
- 🔄 **Миграция сквадов** - массовый перенос пользователей между сквадами
|
||||
- 🧾 **История операций** - хранение всех транзакций и действий для аудита
|
||||
- 💸 **Сервис автопрвоерки транзакций** - автоматическая проверка транзакций в статусе "В ожидании оплаты" за последние 24ч
|
||||
|
||||
### 🌐 Веб-API и мини-приложение
|
||||
|
||||
@@ -859,7 +664,7 @@ LOG_FILE=logs/bot.log
|
||||
- 🔑 **Управление API-ключами** - выпуск, отзыв, реактивация токенов
|
||||
- 🛰️ **Mini App** - полноценный личный кабинет внутри Telegram
|
||||
- 💳 **Интегрированные платежи** в Mini App (Stars, Pal24, YooKassa, WATA)
|
||||
- 🧭 **App Config** - централизованная раздача ссылок на клиенты
|
||||
- 🧭 **Единый стандартный app-config.json** - централизованная раздача ссылок на клиенты
|
||||
- 🪝 **Платёжные вебхуки** - встроенные серверы для всех платёжных систем
|
||||
- 📡 **Мониторинг серверов** - REST-эндпоинты для просмотра нод и статистики
|
||||
|
||||
@@ -1073,7 +878,7 @@ REMNAWAVE_SECRET_KEY=XXXXXXX:DDDDDDDD
|
||||
|
||||
### 📚 **Полезные ресурсы**
|
||||
|
||||
- **📖 [Remnawave Docs](https://docs.remna.st)** - документация панели
|
||||
- **📖 [https://docs.remna.st](https://docs.rw)))** - документация панели
|
||||
- **🤖 [Telegram Bot API](https://core.telegram.org/bots/api)** - API ботов
|
||||
- **🐳 [Docker Guide](https://docs.docker.com/get-started/)** - обучение Docker
|
||||
- **🛡️ [Reverse Proxy](https://github.com/eGamesAPI/remnawave-reverse-proxy)** - защита панели
|
||||
@@ -1164,23 +969,8 @@ REMNAWAVE_SECRET_KEY=XXXXXXX:DDDDDDDD
|
||||
### 🚧 **В разработке**
|
||||
|
||||
- 🌎 **Веб-панель** - полноценная административная панель
|
||||
- 📊 **Расширенная аналитика** - больше метрик и графиков
|
||||
- 🔄 **API для интеграций** - подключение внешних сервисов
|
||||
- 🎨 **Темы оформления** - кастомизация интерфейса Mini App
|
||||
|
||||
### ✅ **Недавно добавлено**
|
||||
|
||||
- 💳 **WATA** - оплата банковскими картами
|
||||
- 🔄 **Автосинхронизация Remnawave** - фоновая синхронизация серверов
|
||||
- 🛒 **Умная корзина** - сохранение параметров подписки
|
||||
- 🏗️ **Модульная архитектура** - подписок и платежей
|
||||
- 🖥️ **Полноценный личный кабинет** в Mini App
|
||||
- 💎 **Промо-группы и скидочные уровни** - система лояльности
|
||||
- 🎁 **Персональные промо-предложения** - таргетированные акции
|
||||
- 📄 **Система управления контентом** - политика, оферта, FAQ
|
||||
- 🎫 **Система тикетов** - поддержка пользователей
|
||||
- 📊 **Мониторинг серверов** - интеграция с XrayChecker
|
||||
- 🛡️ **Защита от блокировок** - антифрод система
|
||||
- 🎨 **Темы оформления** - Новая тема интерфейса Mini App by https://t.me/arpicme
|
||||
|
||||
---
|
||||
|
||||
@@ -1236,8 +1026,6 @@ REMNAWAVE_SECRET_KEY=XXXXXXX:DDDDDDDD
|
||||
# Автоустановка (рекомендуется)
|
||||
git clone https://github.com/Fr1ngg/remnawave-bedolaga-telegram-bot.git
|
||||
cd remnawave-bedolaga-telegram-bot
|
||||
chmod +x install_bot.sh
|
||||
./install_bot.sh
|
||||
|
||||
# Ручной запуск
|
||||
docker compose up -d
|
||||
@@ -1246,26 +1034,11 @@ docker compose logs -f
|
||||
|
||||
### 🔄 Обновление
|
||||
```bash
|
||||
# Через install_bot.sh (с автобэкапом)
|
||||
./install_bot.sh
|
||||
# Выбрать: 4. 🔄 Обновить проект из Git
|
||||
|
||||
# Ручное обновление
|
||||
git pull
|
||||
docker compose down
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### 💾 Бэкап и восстановление
|
||||
```bash
|
||||
# Создать бэкап через install_bot.sh
|
||||
./install_bot.sh
|
||||
# Выбрать: 5. 💾 Создать резервную копию
|
||||
|
||||
# Восстановить бэкап
|
||||
./install_bot.sh
|
||||
# Выбрать: 6. 📦 Восстановить из бэкапа
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
### 📊 Мониторинг
|
||||
|
||||
Reference in New Issue
Block a user