import os from dotenv import load_dotenv load_dotenv() IS_PROD = False # Telegram Bot Configuration (Production) TELEGRAM_BOT_TOKEN_PROD = "8241474807:AAH684LTY93aXRou4-LtqU5-p8LuEjzYn8U" # Admin Panel Bot Configuration (Production) ADMINPANEL_TELEGRAM_BOT_TOKEN_PROD = "7918349610:AAEZH7lbzdams31rCDZXeaAzFluDWfUQoLg" # Telegram Bot Configuration (Test) TELEGRAM_BOT_TOKEN_TEST = "7903295042:AAGBO2k8pfBDy4RoLRFsknwE7z0N-thAPI8" # Admin Panel Bot Configuration (Test) ADMINPANEL_TELEGRAM_BOT_TOKEN_TEST = "8588876086:AAHoZncfhTCbul1BblpvnZMzvz7jAYVFmcw" # Select tokens based on IS_PROD flag if IS_PROD: TELEGRAM_BOT_TOKEN = TELEGRAM_BOT_TOKEN_PROD ADMINPANEL_TELEGRAM_BOT_TOKEN = ADMINPANEL_TELEGRAM_BOT_TOKEN_PROD else: TELEGRAM_BOT_TOKEN = TELEGRAM_BOT_TOKEN_TEST ADMINPANEL_TELEGRAM_BOT_TOKEN = ADMINPANEL_TELEGRAM_BOT_TOKEN_TEST # Lichess API Configuration LICHESS_API_BASE_URL = "https://lichess.org/api" LICHESS_STATS_API_BASE_URL = "http://localhost:8001" # For Docker container access # Database Configuration def _resolve_database_path() -> str: # 1) Explicit env var has highest priority db_from_env = os.getenv("DATABASE_PATH") if db_from_env: return db_from_env # 2) Docker default if volume is mounted docker_data_dir = "/app/data" if os.path.isdir(docker_data_dir): return os.path.join(docker_data_dir, "lichess_bot.db") # 3) Local development fallback (repo data dir) repo_data_dir = os.path.join(os.path.dirname(__file__), "data") os.makedirs(repo_data_dir, exist_ok=True) return os.path.join(repo_data_dir, "lichess_bot.db") DATABASE_PATH = _resolve_database_path() # Period options for /setperiod command PERIOD_OPTIONS = [0, 15, 30, 60, 120, 180, 360, 720, 1440] # minutes (0=disable, then: 15min, 30min, 1h, 2h, 3h, 6h, 12h, 24h) # Bot Version BOT_VERSION = "1.1.0" # Telegram Bot Long Polling Configuration POLL_INTERVAL = 1.0 # seconds POLL_TIMEOUT = 30 # seconds DROP_PENDING_UPDATES = True # Drop pending updates on startup ALLOWED_UPDATES = ["message", "callback_query"]