<?php
/**
 * تنظیمات ربات تلگرام اینستاگرام
 * 
 * این فایل شامل تنظیمات اصلی ربات از جمله توکن تلگرام، کلید API اینستاگرام و اطلاعات دیتابیس است
 */

// تنظیمات تلگرام
define('TELEGRAM_BOT_TOKEN', '8230161776:AAEqoQK9PnjaqsnSf0QjdO9Ko9pGTHMz4bk'); // توکن ربات تلگرام خود را اینجا قرار دهید
define('TELEGRAM_API_URL', 'https://api.telegram.org/bot' . TELEGRAM_BOT_TOKEN);
define('WEBHOOK_URL', 'https://amirth97.sb949.site/instadl/webhook.php'); // آدرس وب‌هوک خود را اینجا قرار دهید

// تنظیمات API اینستاگرام - چند لایسنس برای استفاده رندم (جلوگیری از مشکل ضد اسپم)
define('INSTAGRAM_API_KEYS', [
    '7285150631:Pkp9dzov0ZgIYRc@Api_ManagerRoBot',
    '1732704664:XjrIzw7ZufDTVq4@Api_ManagerRoBot',
    '5711888585:6fRD1h7w3IWF920@Api_ManagerRoBot',
    '6954953563:d05mMNeagUXCcTZ@Api_ManagerRoBot'
]);
define('INSTAGRAM_API_URL', 'https://api.fast-creat.ir/instagram');

// تنظیمات Instagram120 API - اولویت دوم (1000 درخواست رایگان در ماه)
define('INSTAGRAM120_KEY', 'acf832049fmsh83be247d54aba4dp19dad2jsnb8d7604eb33b');
define('INSTAGRAM120_HOST', 'instagram120.p.rapidapi.com');

// تنظیمات RapidAPI قدیمی - اولویت سوم (فالبک)
define('RAPIDAPI_KEY', 'YOUR_RAPIDAPI_KEY_HERE'); // کلید RapidAPI خود را اینجا قرار دهید
define('RAPIDAPI_HOST', 'instagram-scraper-api2.p.rapidapi.com'); // هاست RapidAPI

// تنظیمات دیتابیس
define('DB_HOST', 'localhost');
define('DB_NAME', 'mehranff_insta');
define('DB_USER', 'mehranff_insta');
define('DB_PASS', 'f[f6t4(vi}L@${{h');

// تنظیمات ادمین
define('ADMIN_IDS', '6954953563,987654321,5873258147'); // شناسه‌های تلگرام ادمین‌ها را با کاما جدا کنید

// نام کاربری ربات (برای نمایش در کپشن)
define('BOT_USERNAME', '@insta_dl_fa_bot'); // نام کاربری ربات خود را اینجا قرار دهید

// تنظیمات محدودیت درخواست
define('RATE_LIMIT', 10); // تعداد درخواست مجاز در هر دقیقه
define('RATE_LIMIT_PERIOD', 60); // دوره زمانی محدودیت (ثانیه)

// تنظیمات زبان و پیام‌ها
$messages = [
    'welcome' => "🌟 به ربات اینستاگرام خوش آمدید!\n\nبا این ربات می‌توانید:\n- اطلاعات پروفایل اینستاگرام را دریافت کنید\n- پست‌ها را دانلود کنید\n- استوری‌ها را مشاهده کنید\n\nاز دکمه‌های زیر استفاده کنید یا راهنما را با دستور /help ببینید.",
    'help' => "📚 راهنمای دستورات ربات:\n\n/user username - دریافت اطلاعات پروفایل\n/post url - دریافت اطلاعات پست\n/story username - دریافت استوری‌های فعال\n/download url - دانلود مستقیم مدیا\n/connect - اتصال به حساب کاربری\n/help - نمایش این راهنما",
    'error' => "❌ خطایی رخ داد. لطفاً دوباره تلاش کنید.",
    'not_found' => "⚠️ اطلاعات مورد نظر یافت نشد.",
    'invalid_input' => "⚠️ ورودی نامعتبر است. لطفاً دستور را به درستی وارد کنید.",
    'rate_limit' => "⚠️ محدودیت تعداد درخواست. لطفاً کمی صبر کنید و دوباره تلاش کنید.",
    'join_channels' => "⚠️ برای استفاده از ربات، لطفاً در کانال‌های زیر عضو شوید:",
    'admin_only' => "⛔ این دستور فقط برای ادمین‌ها قابل استفاده است.",
];

// تابع اتصال به دیتابیس
function getDbConnection() {
    $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
    if ($conn->connect_error) {
        error_log("Database connection failed: " . $conn->connect_error);
        die("Database connection failed");
    }
    $conn->set_charset("utf8mb4");
    return $conn;
}

// بررسی اینکه آیا کاربر ادمین است
function isAdmin($userId) {
    // اول چک می‌کنیم در ADMIN_IDS باشه (ادمین‌های اصلی)
    $adminIds = explode(',', ADMIN_IDS);
    if (in_array($userId, $adminIds)) {
        return true;
    }
    
    // اگر نبود، از دیتابیس چک می‌کنیم
    $conn = getDbConnection();
    if (!$conn) {
        return false;
    }
    
    $stmt = $conn->prepare("SELECT id FROM admins WHERE telegram_id = ? LIMIT 1");
    if (!$stmt) {
        $conn->close();
        return false;
    }
    
    $stmt->bind_param("i", $userId);
    $stmt->execute();
    $result = $stmt->get_result();
    $isAdmin = $result->num_rows > 0;
    
    $stmt->close();
    $conn->close();
    
    return $isAdmin;
}