Files
Click/config/settings.py
T
Yuriy Yuriev 7d28ba794b add heleket
2026-05-15 00:12:14 +07:00

70 lines
2.0 KiB
Python

from pydantic_settings import BaseSettings
from typing import Optional
from pathlib import Path
class Settings(BaseSettings):
"""Application settings."""
# Bot
BOT_TOKEN: str = ""
TELEGRAM_PROXY: str = "" # socks5://user:pass@host:port
ADMIN_PASSWORD: str = ""
# Heleket payment
HELEKET_API_KEY: str = ""
HELEKET_SHOP_ID: str = ""
CLICK_PRICE_RUB: float = 2.0 # Цена одного перехода в рублях
TOPUP_MIN_RUB: int = 50 # Минимальное пополнение ₽
TOPUP_MAX_RUB: int = 50000 # Максимальное пополнение ₽
CLICKS_MIN: int = 10 # Минимальная покупка переходов
# Telethon/MTProto settings
API_ID: int = 12345
API_HASH: str = "abc123"
# IRC Configuration
IRC_SERVER: str = "irc.chat.twitch.tv"
IRC_PORT: int = 6697 # SSL port
IRC_USERNAME: str = "justinfan12345"
IRC_OAUTH: str = "oauth:12345"
# Browser Configuration
VIEWPORT_WIDTH: int = 1366
VIEWPORT_HEIGHT: int = 768
# Default values
DEFAULT_MIN_DELAY: int = 30
DEFAULT_MAX_DELAY: int = 60
DEFAULT_MIN_READING: int = 45
DEFAULT_MAX_READING: int = 90
DEFAULT_VISITS_PER_LINK: int = 2
DEFAULT_MONITOR_MINUTES: int = 60
MTPROTO_SECRET: str = "00000000000000000000000000000000"
# Timing
MAX_REDIRECT_WAIT: int = 30
MAX_RECONNECTS: int = 10
PONG_TIMEOUT: int = 300
SOCKET_TIMEOUT: int = 30
RECV_TIMEOUT: float = 5.0
# Proxy
PROXY_FILE: str = "proxies.txt"
PROXY_COOLDOWN_TIME: int = 30
PROXY_MAX_USAGE_BEFORE_COOLDOWN: int = 5
# Screenshots
SCREENSHOTS_DIR: str = ""
# Logging
LOG_LEVEL: str = "INFO"
LOG_FILE: str = "logs/bot.log"
class Config:
env_file = ".env"
env_file_encoding = "utf-8"
case_sensitive = True
extra = "ignore" # Игнорировать лишние поля из .env
settings = Settings()