import os from dotenv import load_dotenv load_dotenv() # Проверка критических переменных for var in ["BOT_TOKEN", "DB_PASSWORD", "BOT_SECRET"]: if var not in os.environ: raise RuntimeError(f"Missing required environment variable: {var}") BOT_TOKEN = os.environ["BOT_TOKEN"] BOT_SECRET = os.environ["BOT_SECRET"] # Together AI для AI-помощника TOGETHER_API_KEY = os.getenv("TOGETHER_API_KEY", "") DB_CONFIG = { "user": os.getenv("DB_USER", "filwords"), "password": os.environ["DB_PASSWORD"], "database": os.getenv("DB_NAME", "filwords"), "host": os.getenv("DB_HOST", "localhost"), "port": int(os.getenv("DB_PORT", "5432")), } ADMIN_IDS = [int(id_str) for id_str in os.getenv("ADMIN_IDS", "6694989403").split(",") if id_str] FRONTEND_ORIGIN = os.getenv("FRONTEND_ORIGIN", "https://filwordspl.com") # 🔧 ИСПРАВЛЕНО: единое значение — 24 часа. # Раньше в auth.py было локально 24 часа, а здесь 3600 (1 час) — это был конфликт. # Теперь значение берётся ТОЛЬКО отсюда. MAX_INITDATA_AGE = 24 * 60 * 60 # 24 часа в секундах SUPPORTED_LANGUAGES = {"pl", "ru", "uk", "en"} # ============ 🔧 НОВОЕ (18.09.2026): настройки для FeedModal ============ # Папка для хранения картинок feed-постов. # Путь совпадает с backend/, файлы доступны как static mounts (см. main.py при необходимости). UPLOADS_DIR = os.getenv("UPLOADS_DIR", "/root/filwordspl/backend/uploads") # Автосоздание папки — безопасно запускать повторно (exist_ok=True) os.makedirs(UPLOADS_DIR, exist_ok=True) # Секции карусели (совпадают с SECTION_CONFIG в FeedModal.tsx) FEED_SECTIONS = {"news", "partners", "contacts", "apps"} # Лимит картинок на один пост (совпадает с описанием — до 3) MAX_FEED_ATTACHMENTS = 3 # Лимит размера одной картинки — 5 МБ MAX_FEED_IMAGE_SIZE_MB = 5 MAX_FEED_IMAGE_SIZE_BYTES = MAX_FEED_IMAGE_SIZE_MB * 1024 * 1024 # Разрешённые MIME-типы для картинок feed FEED_ALLOWED_IMAGE_TYPES = { "image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif", } # Языки, на которые переводим feed-посты (используется в admin_feed translate) FEED_TARGET_LANGUAGES = ["pl", "ru", "uk", "en"]