63 lines
2.5 KiB
Python
63 lines
2.5 KiB
Python
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"] |