# ========================= # Telegram bot # ========================= # Токен бота от BotFather BOT_TOKEN=1234567890:REPLACE_WITH_BOT_TOKEN # Telegram ID администраторов через запятую # Пример: 123456789,987654321 BOT_ADMIN_IDS=123456789 # Telegram ID модераторов через запятую # Модераторы могут отвечать на тикеты и подтверждать оплаты BOT_MODERATOR_IDS= # Прокси для доступа к Telegram Bot API, если хост не видит api.telegram.org напрямую # Подходят обычные URL: http://... или socks5://... TELEGRAM_PROXY_URL= # Название бренда в пользовательской панели 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/// 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/// PAYMENT_SUCCESS_TEXT=Доступ выдан. Сохраните ссылку и используйте её для подключения. 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-- PAYMENT_USERNAME_PREFIX=Oreol # Tag для пользователей, создаваемых ботом в Remnawave PAYMENT_USER_TAG=BOT