"""
تنظیمات پروژه — این فایل را ویرایش کن.
مقادیر حساس را در فایل .env بگذار (امن‌تر است).
"""
import os
from dotenv import load_dotenv

load_dotenv()

# ---- اطلاعات حساب کاربری (از my.telegram.org) ----
API_ID = int(os.getenv("API_ID", "0"))
API_HASH = os.getenv("API_HASH", "")

# ---- ربات تایید/انتشار (از @BotFather) ----
BOT_TOKEN = os.getenv("BOT_TOKEN", "")

# ---- آیدی عددی خودت (از @userinfobot) ----
ADMIN_ID = int(os.getenv("ADMIN_ID", "0"))

# ---- کانال مقصد ----
TARGET_CHANNEL = os.getenv("TARGET_CHANNEL", "@my_channel")

# ============================================================
# کانال‌های مبدا — هر کانال سیاست فیلتر خودش را دارد
# ============================================================
# هر آیتم یک دیکشنری با این کلیدها:
#   channel : آیدی یا username کانال (الزامی)
#   policy  : یکی از سه مقدار زیر
#       "all"           → همه‌ی پیام‌ها بیایند (مناسب همکاران)
#       "whitelist"     → فقط پیام‌هایی که شامل یکی از keywords باشند (مناسب خبرگزاری)
#       "exclude_price" → همه بجز پیام‌های دارای قیمت
#   keywords: لیست عبارات (فقط برای policy="whitelist" لازم است)
#
# نکته: فرمت رشته‌ای ساده هم پشتیبانی می‌شود و معادل policy="all" در نظر گرفته می‌شود.
SOURCE_CHANNELS = [
    # همکار — همه‌ی پیام‌ها:
    {"channel": "@ircfspace", "policy": "all"},
    {"channel": "@dsfg342", "policy": "all"},
    {"channel": "@novanethub", "policy": "all"},
    # خبرگزاری — فقط پیام‌های شامل این عبارات:
    {"channel": "@peivast", "policy": "whitelist",
     "keywords": ["وی‌پی ان", "وی‌پی‌ان", "اینترنت"]},

    {"channel": "@ePRNet", "policy": "whitelist",
     "keywords": ["وی‌پی ان", "وی‌پی‌ان", "اینترنت","فیلترینگ"]}, 

    {"channel": "@thezoomit", "policy": "whitelist",
     "keywords": ["وی‌پی ان", "وی‌پی‌ان", "اینترنت","فیلترینگ"]},

    {"channel": "@VahidOnline", "policy": "whitelist",
     "keywords": ["وی‌پی ان", "وی‌پی‌ان", "اینترنت","فیلترینگ"]},

    {"channel": "@IranintlTV", "policy": "whitelist",
     "keywords": ["وی‌پی ان", "وی‌پی‌ان", "اینترنت","فیلترینگ"]},

    {"channel": "@Khabar_Fouri", "policy": "whitelist",
     "keywords": ["وی‌پی ان", "وی‌پی‌ان", "اینترنت","فیلترینگ"]},

    {"channel": "@jadivarlog", "policy": "whitelist",
     "keywords": ["وی‌پی ان", "وی‌پی‌ان", "اینترنت","فیلترینگ"]},

    {"channel": "@vigiatonet", "policy": "whitelist",
     "keywords": ["وی‌پی ان", "وی‌پی‌ان", "اینترنت","فیلترینگ"]},

    {"channel": "@mamlekate", "policy": "whitelist",
     "keywords": ["وی‌پی ان", "وی‌پی‌ان", "اینترنت","فیلترینگ"]},
       
    {"channel": "@Digiato", "policy": "whitelist",
     "keywords": ["وی‌پی ان", "وی‌پی‌ان", "اینترنت","فیلترینگ"]},  

    # کانال قیمت‌دار — همه بجز پیام‌های دارای قیمت:
    {"channel": "@radsho", "policy": "exclude_price"},
]

# ---- تشخیص قیمت (برای policy="exclude_price") ----
# هر دو روش فعال است: عدد+واحد پول، و کلمات قیمتی.
PRICE_CURRENCY_WORDS = [
    "تومان", "تومن", "ریال", "دلار", "یورو", "درهم", "پوند",
    "$", "€", "£", "؋", "lir", "usd", "eur",
]
PRICE_KEYWORDS = [
    "قیمت", "نرخ", "تخفیف", "حراج", "فروش ویژه", "ارزان", "گران",
    "هزار تومان", "میلیون", "بازار ارز", "صرافی",
]

# ---- بازنویسی با هوش مصنوعی ----
ENABLE_AI_REWRITE = True
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY", "")
AI_MODEL = "claude-sonnet-4-6"

REWRITE_PROMPT = """متن زیر یک پست تلگرامی است.
آن را کمی بازنویسی کن: روان‌تر و تمیزتر بنویس، تبلیغات و لینک‌های دعوت و
نام کانال مبدا را حذف کن، اما معنی و اطلاعات اصلی را کامل حفظ کن.
لحن را حرفه‌ای و طبیعی نگه دار. فقط متن بازنویسی‌شده را برگردان، بدون توضیح اضافه.

متن:
---
{text}
---"""

# ---- امضای کانال مبدا (برای حذف) ----
SOURCE_SIGNATURES = [
    "@partner_channel_1",
    "@news_channel_1",
    "@market_channel_1",
    "کانال خبری ما",
    "join us",
]
STRIP_LEADING_TRAILING_LINKS = True

# ============================================================
# امضای خودت — حالا از فایل signatures.txt خوانده می‌شود
# ============================================================
# هر خط فایل signatures.txt یک امضاست.
# برای شکستن خط داخل یک امضا، از | استفاده کن (به \n تبدیل می‌شود).
# بعد از تایید، AI مرتبط‌ترین امضا را بر اساس محتوای پست انتخاب می‌کند.
SIGNATURES_FILE = "signatures.txt"

# اگر AI در دسترس نبود یا مطمئن نبود، این شماره خط (۱-based) استفاده می‌شود.
DEFAULT_SIGNATURE_INDEX = 1

# آیا انتخاب امضا با AI انجام شود؟ (اگر False، همیشه امضای پیش‌فرض)
ENABLE_AI_SIGNATURE = True

# ---- فیلترهای عمومی ----
MIN_TEXT_LENGTH = 20
SKIP_IF_NO_TEXT = True
BLOCK_KEYWORDS = ["تبلیغ", "رپورتاژ", "ادمحذف", "ad:"]

# ---- منطقه‌ی زمانی برای زمان‌بندی ----
# اختلاف ساعت با UTC. ایران: 3.5 (یعنی +3:30)
TIMEZONE_OFFSET_HOURS = 3.5

# ---- تجمیع آلبوم ----
# چند ثانیه صبر تا همه‌ی عکس‌های یک آلبوم برسند، سپس با هم پردازش شوند.
ALBUM_DEBOUNCE_SECONDS = 2.0

# ---- مسیر فایل‌ها ----
SESSION_NAME = "data/user_session"
DB_PATH = "data/pending.json"
