<?php
// ==========================================
// 🕵️ RUBIKA DEEP DEBUGGER
// ==========================================

header('Content-Type: text/html; charset=utf-8');

// 1. تنظیمات
$token = trim("GJICF0JOPCACQWQGXZHLUGLTINUVLJBRXXKBLPCGFBKZCUJLVVJBNYVTPOIKBRTZ"); // توکن را اینجا بگذارید
$myUrl = "https://bridge.proprompter.ir/sync_bot.php?source=rubika";

echo "<h2>🔍 شروع عملیات عیب‌یابی روبیکا</h2>";
echo "<p>Target URL: $myUrl</p>";

// لیست سناریوهای مختلف برای تست
$scenarios = [
    [
        'name' => 'Scenario A: updateBotEndpoints (Plural - طبق مستندات لیست متدها)',
        'method' => 'updateBotEndpoints',
        'payload' => ["url" => $myUrl, "type" => "ReceiveUpdate"]
    ],
    [
        'name' => 'Scenario B: updateBotEndpoint (Singular - طبق مقدمه مستندات)',
        'method' => 'updateBotEndpoint',
        'payload' => ["receiveUpdate" => $myUrl]
    ],
    [
        'name' => 'Scenario C: setWebhook (Telegram Standard - تست شانس)',
        'method' => 'setWebhook',
        'payload' => ["url" => $myUrl]
    ]
];

foreach ($scenarios as $test) {
    echo "<hr><h3>🧪 تست: {$test['name']}</h3>";
    
    $url = "https://botapi.rubika.ir/v3/" . $token . "/" . $test['method'];
    $data_string = json_encode($test['payload']);

    echo "<b>Request URL:</b> $url<br>";
    echo "<b>Payload:</b> $data_string<br>";

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_VERBOSE, true); // فعال کردن لاگ دقیق CURL
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Content-Length: ' . strlen($data_string),
        'Accept: application/json'
    ]);

    // دریافت اطلاعات دیباگ
    $verbose = fopen('php://temp', 'w+');
    curl_setopt($ch, CURLOPT_STDERR, $verbose);

    $result = curl_exec($ch);
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $curl_error = curl_error($ch);
    
    curl_close($ch);

    // خواندن لاگ‌های Verbose
    rewind($verbose);
    $verboseLog = stream_get_contents($verbose);

    echo "<b>HTTP Status:</b> <span style='color:" . ($httpcode == 200 ? 'green' : 'red') . "'>$httpcode</span><br>";
    
    if ($curl_error) {
        echo "<b style='color:red'>CURL Error:</b> $curl_error<br>";
    }
    
    echo "<b>Raw Response:</b><br><pre style='background:#eee;padding:10px;'>";
    var_dump($result);
    echo "</pre>";
    
    echo "<b>Decoded Response:</b><br><pre style='background:#ddd;padding:10px;'>";
    print_r(json_decode($result, true));
    echo "</pre>";

    // تحلیل نتیجه
    $json = json_decode($result, true);
    if (isset($json['status']) && $json['status'] == 'OK') {
        echo "<h1 style='color:green'>✅ WINNER! این متد کار کرد.</h1>";
        break; // اگر موفق شد، بقیه را تست نکن
    } elseif (isset($json['status']) && $json['status'] == 'INVALID_INPUT') {
        echo "<b style='color:orange'>⚠️ مشکل در ورودی (متد درست است، پارامتر غلط است)</b>";
    } elseif (isset($json['dev_message']) && $json['dev_message'] == 'Invalid Method') {
        echo "<b style='color:red'>⛔ نام متد غلط است.</b>";
    }
}
?>