<?php
/**
 * وب‌هوک ربات تلگرام برای استعلام وضعیت کانفیگ
 * پس از ساخت ربات با @BotFather، توکن را در config در TELEGRAM_BOT_TOKEN قرار دهید
 * و وب‌هوک را تنظیم کنید: https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://your-site.com/telegram/bot_webhook.php
 */
$raw = file_get_contents('php://input');
if ($raw === '' || !defined('ROOT_PATH')) {
    // اگر مستقیم باز شد، تعریف کن و ادامه بده
    if (!defined('ROOT_PATH')) require_once __DIR__ . '/../config.php';
    if ($raw === '') exit;
}
if (!defined('ROOT_PATH')) require_once __DIR__ . '/../config.php';

$token = '';
if (isset($pdo)) {
    $token = trim(getSetting($pdo, 'telegram_bot_token', '') ?? '');
}
if ($token === '' && defined('TELEGRAM_BOT_TOKEN')) {
    $token = trim(TELEGRAM_BOT_TOKEN);
}
if ($token === '') {
    http_response_code(200);
    exit;
}

$data = json_decode($raw, true);
$chat_id = $data['message']['chat']['id'] ?? null;
$text = trim($data['message']['text'] ?? '');
if ($chat_id === null) {
    http_response_code(200);
    exit;
}

function sendTelegram($bot_token, $chat_id, $text) {
    $url = 'https://api.telegram.org/bot' . $bot_token . '/sendMessage';
    $payload = [
        'chat_id' => $chat_id,
        'text' => $text,
        'parse_mode' => 'HTML',
        'disable_web_page_preview' => true
    ];
    $ctx = stream_context_create([
        'http' => [
            'method' => 'POST',
            'header' => 'Content-Type: application/json',
            'content' => json_encode($payload)
        ]
    ]);
    @file_get_contents($url, false, $ctx);
}

$base_url = defined('BASE_URL') ? rtrim(BASE_URL, '/') : '';
$api_url = $base_url . '/api/check_usage.php';

if ($text === '/start') {
    $welcome = "سلام 👋\n\nبرای استعلام وضعیت کانفیگ (ترافیک و زمان باقی‌مانده)، <b>کد استعلام</b> خود را اینجا بفرستید.\n\nاین کد را از فروشنده یا نماینده کانفیگ بگیرید.";
    sendTelegram($token, $chat_id, $welcome);
    http_response_code(200);
    exit;
}

if ($text === '') {
    http_response_code(200);
    exit;
}

$check_token = $text;
$resp = @file_get_contents($api_url . '?token=' . urlencode($check_token));
$result = $resp ? json_decode($resp, true) : null;

if (!$result || empty($result['success'])) {
    sendTelegram($token, $chat_id, "❌ " . ($result['message'] ?? 'کد نامعتبر است یا کانفیگ غیرفعال است.'));
    http_response_code(200);
    exit;
}

$r = $result;
$msg = "✅ <b>وضعیت کانفیگ</b>\n\n";
$msg .= "📶 ترافیک باقی‌مانده: <b>" . number_format($r['remaining_traffic_gb'], 2) . " GB</b>\n";
$msg .= "📊 ترافیک مصرف‌شده: " . number_format($r['used_traffic_gb'], 2) . " GB از " . number_format($r['total_traffic_gb'], 2) . " GB\n";
$msg .= "📅 تاریخ انقضا: " . ($r['expiry_date'] ? $r['expiry_date'] : 'نامحدود') . "\n";
if ($r['days_left'] !== null) {
    $msg .= "⏳ روز باقی‌مانده: <b>" . $r['days_left'] . " روز</b>\n";
}
sendTelegram($token, $chat_id, $msg);
http_response_code(200);
