This commit is contained in:
2026-04-22 18:34:13 +03:00
parent 3992121397
commit ce7a1f70b2
60 changed files with 10243 additions and 3443 deletions

View File

@@ -1,25 +1,188 @@
# Telegram Bot
BOT_TOKEN=YOUR_BOT_TOKEN_HERE
# =========================
# Telegram bot
# =========================
# Database
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=
DB_NAME=botyobshik
# Токен бота от BotFather
BOT_TOKEN=1234567890:REPLACE_WITH_BOT_TOKEN
# Support
SUPPORT_USERNAME=@support_username
# Telegram ID администраторов через запятую
# Пример: 123456789,987654321
BOT_ADMIN_IDS=123456789
# Payment
PAYMENT_CHANNEL_ID=-1003591520479
PAYMENT_THREAD_ID=5910
PAYMENT_TICKET_CHANNEL_ID=-1003591520479
PAYMENT_TICKET_THREAD_ID=788
PAYMENT_PHONE=+7 904 788 77 35
# Telegram ID модераторов через запятую
# Модераторы могут отвечать на тикеты и подтверждать оплаты
BOT_MODERATOR_IDS=
# Admin
ADMIN_IDS=123456789,987654321
# Прокси для доступа к Telegram Bot API, если хост не видит api.telegram.org напрямую
# Подходят обычные URL: http://... или socks5://...
TELEGRAM_PROXY_URL=
# Remnawave API
REMWAVE_API_URL=https://panel.remnawave.com/api
REMWAVE_API_KEY=your_api_key_here
# Название бренда в пользовательской панели
BOT_BRAND_NAME=OREOL VPN
# Username бота без @, нужен для реферальных ссылок
BOT_PUBLIC_USERNAME=your_bot_username
# Опциональная ссылка на поддержку
BOT_SUPPORT_URL=https://t.me/your_support_account
# Опциональная внешняя ссылка на Terms of Use
BOT_TERMS_URL=
# Ссылка на приватный чат/топик для тикетов поддержки
# Формат: https://t.me/c/<chat>/<topic>/<message>
BOT_SUPPORT_TICKET_LINK=https://t.me/c/1234567890/2/3
# Альтернативный способ указать chat id для тикетов вручную
# Если заполнен, имеет приоритет над BOT_SUPPORT_TICKET_LINK
BOT_SUPPORT_TICKET_CHAT_ID=
# Альтернативный способ указать thread/topic id для тикетов вручную
# Если > 0, имеет приоритет над BOT_SUPPORT_TICKET_LINK
BOT_SUPPORT_TICKET_THREAD_ID=0
# Включить стартовую картинку в панели
BOT_START_IMAGE_ENABLED=true
# Путь до стартовой картинки
# Можно абсолютный путь или относительный от корня проекта
BOT_START_IMAGE_PATH=assets/main.png
# =========================
# Remnawave
# =========================
# Базовый URL Remnawave без /api или с /api — клиент нормализует сам
REMNAWAVE_BASE_URL=https://panel.example.com
# API token Remnawave
REMNAWAVE_API_TOKEN=replace-with-remnawave-api-token
# Дополнительный X-Api-Key, если API закрыт через Caddy
REMNAWAVE_CADDY_API_KEY=
# HTTP timeout в секундах для запросов к Remnawave
REMNAWAVE_TIMEOUT_SECONDS=20
# =========================
# MariaDB
# =========================
# Хост MariaDB
DB_HOST=127.0.0.1
# Порт MariaDB
DB_PORT=3306
# Имя базы данных
DB_NAME=telegabot
# Пользователь MariaDB
DB_USER=telegabot
# Пароль MariaDB
DB_PASSWORD=change_me
# Root-пароль MariaDB для docker-compose
# Нужен контейнеру db при первом запуске
DB_ROOT_PASSWORD=change_root_me
# Логировать SQLAlchemy SQL-запросы в консоль
# true = логировать, false = не логировать
DB_ECHO=false
# Попытаться создать базу при старте, если её ещё нет
CREATE_DATABASE_ON_START=true
# Создавать таблицы ORM при старте приложения
CREATE_TABLES_ON_START=true
# Сохранять историю subscription request log из Remnawave
SYNC_SUBSCRIPTION_HISTORY=true
# Размер батча при /sync_all
SYNC_BATCH_SIZE=100
# Уровень логов Python
# Примеры: INFO, DEBUG, WARNING, ERROR
LOG_LEVEL=INFO
# =========================
# Manual payment flow
# =========================
# Набор тарифов в формате дни:цена_в_рублях
# Пример: 30:250,180:600,365:1000
PAYMENT_PLANS=30:250,180:600,365:1000
# Реквизиты или инструкция для перевода
# Этот текст бот показывает пользователю после выбора тарифа
PAYMENT_TRANSFER_TEXT=Карта 0000 0000 0000 0000; банк OREOL; получатель OREOL VPN
# Ссылка на приватный чат/топик, куда бот отправляет чеки на модерацию
# Формат: https://t.me/c/<chat>/<topic>/<message>
PAYMENT_REVIEW_LINK=https://t.me/c/1234567890/56/57
# Альтернативный способ указать chat id review-чата вручную
# Если заполнен, имеет приоритет над PAYMENT_REVIEW_LINK
PAYMENT_REVIEW_CHAT_ID=
# Альтернативный способ указать thread/topic id review-чата вручную
# Если > 0, имеет приоритет над PAYMENT_REVIEW_LINK
PAYMENT_REVIEW_THREAD_ID=0
# Процент скидки по реферальному коду
REFERRAL_DISCOUNT_PERCENT=5
# Бонус рефереру за подтверждённую оплату приглашённого пользователя
# Начисляется в днях и продлевает доступ
REFERRAL_BONUS_DAYS=7
# =========================
# Payment / Remnawave provisioning
# =========================
# Резервный код тарифа по умолчанию
# Сейчас в основном используется PAYMENT_PLANS, но поле оставлено для совместимости
PAYMENT_PLAN_CODE=vpn_30d
# Резервное название базового тарифа
PAYMENT_PLAN_TITLE=OREOL VPN на 30 дней
# Резервное описание базового тарифа
PAYMENT_PLAN_DESCRIPTION=Доступ к VPN на 30 дней
# Резервная цена базового тарифа
PAYMENT_PLAN_PRICE_STARS=250
# Резервная длительность базового тарифа
PAYMENT_PLAN_DURATION_DAYS=30
# Лимит трафика в GB
# 0 = без лимита
PAYMENT_PLAN_TRAFFIC_LIMIT_GB=0
# Стратегия сброса трафика для Remnawave
# Обычно NO_RESET
PAYMENT_PLAN_TRAFFIC_RESET_PERIOD=NO_RESET
# UUID внутренних групп Remnawave, которые назначаются новому или продлеваемому доступу
# Несколько значений через запятую
PAYMENT_INTERNAL_SQUAD_UUIDS=11111111-1111-1111-1111-111111111111
# UUID внешней группы Remnawave, если используется
PAYMENT_EXTERNAL_SQUAD_UUID=
# Текст для пользователя, если оплата отклонена или доступ не выдался
PAYMENT_SUPPORT_TEXT=Если оплата прошла, но доступ не выдался, напишите в поддержку.
# Префикс логина Remnawave
# Итоговый логин будет вида Oreol-<telegram_id>-<username>
PAYMENT_USERNAME_PREFIX=Oreol
# Tag для пользователей, создаваемых ботом в Remnawave
PAYMENT_USER_TAG=BOT