<?php
  include('class.php');
  	date_default_timezone_set('Asia/Tehran');
//▪▪▪▪▪▪▪▪▪▪▪▪//

//▪▪▪▪▪▪▪▪▪▪▪▪//
if($data){
        if($data=="joined"){
        if(!join1($chatid)){
bot('answercallbackquery', [ 
                'callback_query_id' => $membercall,
                'text' => "هنوز در کانال ما عضو نشده اید!",
                'message_id' => $messageid,
                'show_alert' => true
            ]);
             exit();
}else{
  sendmessage($chatid,"عضویت شما تایید گردید با تشکر از شما 🙌🏻
",$start);   
}
    }
    if($data=="main_menu"){
        $connect->query("UPDATE user SET step='none' WHERE id='$chatid'");
        if($user2['buy']=='pending'){
            $rq=$user2['buycode'];
             file_get_contents("https://api.numberland.ir/v2.php/?apikey=$apinumberland&method=bannumber&id=$rq");
            sendmessage($chatid,"دریافت شماره مجازی کنسل شد!");
            $connect->query("UPDATE user SET buy='none' WHERE id='$chatid'");
        }
   sendmessage($chatid,"  سلام به ربات  خوش آمدید ❣️

📌 جهت استفاده از ربات لطفا یکی از موارد زیر را انتخاب کنید
",$start);   
    }
    elseif($data=="zarinpal"){
        $connect->query("UPDATE user SET step='zarinpal' WHERE id='$chatid'");
   sendmessage($chatid,"مبلغ مورد نظر را به تومان وارد کنید",$back);   
    }
    elseif($data=="verify_identity"){
         $connect->query("UPDATE user SET step='none' WHERE id='$chatid'");
        if($user2['verify']=="pending" or $user2['verify']=="yes"){
             sendmessage($chatid,"احراز شما انجام شده یا درحال انجام است!.");
             exit();
        }
            $back=json_encode(['keyboard'=>[
                [['text'=>"📜 ارسال مدرک شناسایی"]],
    [['text'=>"🔙 منو اصلی"]],
   ],'resize_keyboard'=>true]);
   sendmessage($chatid,"📌شرایط احراز هویت :

لطفا روی کاغذ بنویسید { خرید خدمات مجازی از ناب ممبر } و کنار کارت بانکی که قراره باهاش «پرداخت» انجام بدید بگذارید و عکس بفرستید.
تنها اسم و فامیل و شماره کارت مشخص باشد کافی است .
برای راحتی خودتون میتوانید قسمت‌های دیگه کارت را بپوشونید✅

احراز هویت به دستور پلیس فتا و برای جلوگیری از واریز با کارت سرقتی (فیشینگ) الزامی میباشد⚠️

👇 لطفا جهت احراز هویت بعد از مطالعه کامل پیام بالا ، نسبت به ارسال مدارک درخواستی  از طریق دکمه زیر اقدام کنید !️",$back);       
    }
if (strpos($data, 'checknumber_') === 0) {
    $parts = explode('_', $data);
    $service = $parts[1];
    $page = isset($parts[2]) ? (int)$parts[2] : 1;

    $per_page = 10;
    $offset = ($page - 1) * $per_page;

    if ($service == 'telegram') {
        $json = file_get_contents("https://api.ozvinoo.xyz/web/$apicalino/get-prices/1?format=json");
        $all = json_decode($json, true);

        $total = count($all);
        $pages = ceil($total / $per_page);
        $current = array_slice($all, $offset, $per_page);

        $keyboard = [];

        foreach ($current as $item) {
    $country = $item['country'];
    $price = number_format($item['price']);
    $count = $item['count']; // این الان متن هست

    // تشخیص موجود بودن از روی متن
    $is_available = (strpos($count, '❌') === false);

    $style = $is_available ? "success" : "danger";
    $count_text = $is_available ? "موجود" : "ناموجود";
    $emoji_id = $is_available ? "6007913503342466834" : "6005631836326205722";

    $keyboard[] = [
        ['text' => "$country", 'callback_data' => "ignore", 'style' => $style],
        ['text' => "$price تومان", 'callback_data' => "ignore", 'style' => $style],
        ['text' => "$count_text", 'callback_data' => "ignore", 'style' => $style, 'icon_custom_emoji_id' => $emoji_id]
    ];
}

        // دکمه‌های صفحه‌بندی
        $pagination = [];

        if ($page > 1) {
            $pagination[] = ['text' => " ", 'callback_data' => "checknumber_{$service}_" . ($page - 1),'icon_custom_emoji_id' => "5303055863366301181" ];
        }

        if ($page < $pages) {
            $pagination[] = ['text' => " ", 'callback_data' => "checknumber_{$service}_" . ($page + 1),'icon_custom_emoji_id' => "5303530294043753603" ];
        }

        if (!empty($pagination)) {
            $keyboard[] = $pagination;
        }

        // دکمه بازگشت
        $keyboard[] = [['text' => " بازگشت", 'callback_data' => "main_menu",'icon_custom_emoji_id' => "5877536313623711363" ]];

        $markup = json_encode(['inline_keyboard' => $keyboard]);

        bot('editMessageText', [
            'chat_id' => $chatid,
            'message_id' => $messageid,
            'text' => "📋 لیست کشورهای سرویس $service (صفحه $page از $pages):",
            'reply_markup' => $markup
        ]);
    }else{
        $service_id = $services2[$service] ?? null;
        $json = file_get_contents("https://api.numberland.ir/v2.php/?apikey=$apinumberland&method=getinfo&service=$service_id&operator=2");
        $items = json_decode($json, true);

        $countries = [];
        foreach ($items as $item) {
            if ($item['count'] != "0") {
                $key = $item['cname'];
                $amount = (int)$item['amount'];
                if (!isset($countries[$key]) || $amount < $countries[$key]['amount']) {
                    $countries[$key] = $item;
                }
            }
        }

        // صفحه‌بندی
        $all = array_values($countries);
        $total = count($all);
        $pages = ceil($total / $per_page);
        $current = array_slice($all, $offset, $per_page);

        $keyboard = [];

        foreach ($current as $item) {
            $name = $item['cname'];
            $emoji = $item['emoji'] ?? '';
            $price = number_format($item['amount']);
            $count = $item['count'];

            $style = ($count > 0) ? "success" : "danger";
            $emoji_id = "6005631836326205722"; // ایموجی پرمیوم برای دکمه موجودی

            $keyboard[] = [
                ['text' => "🌍 $name $emoji", 'callback_data' => "ignore", 'style' => $style],
                ['text' => "💰 $price تومان", 'callback_data' => "ignore", 'style' => $style],
                ['text' => "📞 $count عدد", 'callback_data' => "ignore", 'style' => $style, 'icon_custom_emoji_id' => $emoji_id]
            ];
        }

        // صفحه قبل و بعد
        $pagination = [];

        if ($page > 1) {
            $pagination[] = ['text' => "◀️ صفحه قبل", 'callback_data' => "checknumber_{$service}_" . ($page - 1)];
        }
        if ($page < $pages) {
            $pagination[] = ['text' => "صفحه بعد ▶️", 'callback_data' => "checknumber_{$service}_" . ($page + 1)];
        }
        if ($pagination) $keyboard[] = $pagination;

        // دکمه بازگشت
        $keyboard[] = [['text' => "🔙 بازگشت", 'callback_data' => "main_menu", 'icon_custom_emoji_id' => "5303530294043753603" ]];

        bot('editMessageText', [
            'chat_id' => $chatid,
            'message_id' => $messageid,
            'text' => "📋 لیست کشورهای سرویس $service (صفحه $page از $pages):",
            'reply_markup' => json_encode(['inline_keyboard' => $keyboard])
        ]);
    }
}


    if (preg_match('/^(approve|reject)\|(.+)/', $data, $matches)) {
    $action = $matches[1]; 
    $chat = $connect->real_escape_string($matches[2]);
    if($action=="approve"){
         $connect->query("UPDATE user SET verify='yes' WHERE id='$chat'");
         sendmessage($chat,"✅ احراز هویت شما با موفقیت انجام شد!");
    }else{
        $connect->query("UPDATE user SET verify='no' WHERE id='$chat'");
         sendmessage($chat,"❌ احراز هویت شما تایید نشد، با پشتیبانی در تماس باشید!");
    }
    bot('answerCallbackQuery', [
            'callback_query_id' => $membercall,
            'text' => 'با موفقیت انجام شد!',
            'show_alert' => true
        ]);
    
    }
if (isset($data) && strpos($data, 'get_code_') === 0) {
    $order_code = substr($data, strlen('get_code_'));
    $order = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM orders WHERE order_code = '$order_code' LIMIT 1"));
    
    if (!$order) {
        bot('answerCallbackQuery', [
            'callback_query_id' => $membercall,
            'text' => '⛔️ سفارش یافت نشد!',
            'show_alert' => true
        ]);
        exit();
    }

    $request_id = $order['request_id'];
    $service = $order['service'];
    $country = $order['country'];
    $chat_id = $order['chat_id'];
    $price = $order['price'];
    $price = $price * (1 + floatval(trim(file_get_contents('sod.txt'))) / 100);
    $pricenum = number_format($price);

    if ($service == 'telegram') {
        $api_url = "https://api.ozvinoo.xyz/web/515828798:Sa2BJA2hwCQeZ1eRDNbjFj0DQVa1AckQi2oMDib7keE0/getCode/{$request_id}?format=json";
        $response = file_get_contents($api_url);
        $api_data = json_decode($response, true);

        if ($api_data && isset($api_data['code'])) {
            $code = $api_data['code'];
            $number = $api_data['number'];

            if($order['status'] != 'complete'){
                mysqli_query($connect, "UPDATE user SET coin = coin - '$price' WHERE id = '$chat_id'");
            }

            mysqli_query($connect, "UPDATE orders SET status = 'complete' WHERE order_code = '$order_code'");

            $message = "شماره شما: $number\nکشور: $country\nکد تأیید: $code\nقیمت: $pricenum تومان\n\n❗️ کد تأیید دریافت شد!";

            $inline_keyboard = json_encode([
                'inline_keyboard' => [
                    [['text' => '♻️ دریافت مجدد کد', 'callback_data' => 'get_code_' . $order_code]],
                    [['text' => '🛒 خرید مجدد', 'callback_data' => 'rebuy_' . $service . '|' . $country]],
                    [['text' => '🚪 خروج از اکانت', 'callback_data' => 'logout_' . $request_id . "|" . $order_code]]
                ]
            ]);

            bot('editMessageText', [
                'chat_id' => $chatid,
                'message_id' => $messageid,
                'text' => $message,
                'reply_markup' => $inline_keyboard
            ]);

            // ارسال پیام به کانال
            bot('sendMessage', [
                'chat_id' => '@mediacell_real1',
                'text' => "<b>✅ #خرید جدید کشور '{$country}' انجام شد.</b>\n\n<code>👤 ID : ".substr($chat_id,0,4)."****\n🔢 Number : ".substr($number,0,7)."****\n🔑 Code : {$code}\n⏳ Time : ".date("Y/m/d - H:i:s")."\n💰 Price : {$pricenum} تومان</code>",
                'parse_mode' => 'HTML'
            ]);

            bot('answerCallbackQuery', [
                'callback_query_id' => $membercall,
                'text' => '✅ کد تأیید دریافت شد!',
                'show_alert' => true
            ]);
        } else {
            $error = $api_data['error_msg'] ?? 'نامشخص';
            bot('answerCallbackQuery', [
                'callback_query_id' => $membercall,
                'text' => "خطا در دریافت کد: $error",
                'show_alert' => true
            ]);
        }
    } else {
        $check_url = "https://api.numberland.ir/v2.php/?apikey=$apinumberland&method=checkstatus&id=$request_id";
        $res = json_decode(file_get_contents($check_url), true);

        if (in_array($res['RESULT'], [1, 2, 5])) {
            if ($res['CODE'] != "0") {
                if($order['status'] != 'complete'){
                    mysqli_query($connect, "UPDATE user SET coin = coin - '$price', buy='none' WHERE id = '$chat_id'");
                }

                mysqli_query($connect, "UPDATE orders SET status = 'complete' WHERE order_code = '$order_code'");

                $code = $res['CODE'];
                $message = "شماره شما: {$order['phone_number']}\nکشور: $country\nکد تأیید: {$code}\nقیمت: $pricenum تومان\n\n✅ کد تأیید دریافت شد!";

                $inline_keyboard = json_encode([
                    'inline_keyboard' => [
                        [['text' => '♻️ دریافت مجدد کد', 'callback_data' => 'get_code_' . $order_code]],
                        [['text' => '🛒 خرید مجدد', 'callback_data' => 'rebuy_' . $service . '|' . $country]],
                        [['text' => '🚪 خروج از اکانت', 'callback_data' => 'logout_' . $request_id . "|" . $order_code]]
                    ]
                ]);

                file_get_contents("https://api.numberland.ir/v2.php/?apikey=$apinumberland&method=repeat&id=$request_id");

                bot('editMessageText', [
                    'chat_id' => $chatid,
                    'message_id' => $messageid,
                    'text' => $message,
                    'reply_markup' => $inline_keyboard
                ]);

                // ارسال پیام به کانال
                bot('sendMessage', [
                    'chat_id' => '@mediacell_real1',
                    'text' => "<b>✅ #خرید جدید کشور '{$country}' انجام شد.</b>\n\n<code>👤 ID : ".substr($chat_id,0,4)."****\n🔢 Number : ".substr($order['phone_number'],0,7)."****\n🔑 Code : {$code}\n⏳ Time : ".date("Y/m/d - H:i:s")."\n💰 Price : {$pricenum} تومان</code>",
                    'parse_mode' => 'HTML'
                ]);

                bot('answerCallbackQuery', [
                    'callback_query_id' => $membercall,
                    'text' => '✅ کد تأیید دریافت شد!',
                    'show_alert' => true
                ]);
            } else {
                bot('answerCallbackQuery', [
                    'callback_query_id' => $membercall,
                    'text' => '⏳ هنوز کدی دریافت نشده. لطفاً بعداً تلاش کنید.',
                    'show_alert' => true
                ]);
            }
        } else {
            $err = $res['DESCRIPTION'] ?? 'خطای نامشخص';
            bot('answerCallbackQuery', [
                'callback_query_id' => $membercall,
                'text' => "خطا در استعلام کد: $err",
                'show_alert' => true
            ]);
        }
    }

    exit();
}



// پردازش خرید مجدد
if (isset($data) && strpos($data, 'rebuy_') === 0) {
    $msg = sendMessage($chatid, "✨ درحال ارتباط با سرویس...");
    $msgid = $msg['result']['message_id'];

    $parts = explode('|', substr($data, strlen('rebuy_')));
    $service = $parts[0];
    $country = $parts[1];

    $country_code = $countries[$country] ?? null;
    $country_code2 = $countries2[$country] ?? null;

    if ($service == 'telegram') {
        // اوزوینو
    $telegram_prices = json_decode(file_get_contents("https://api.ozvinoo.xyz/web/515828798:Sa2BJA2hwCQeZ1eRDNbjFj0DQVa1AckQi2oMDib7keE0/get-prices/1?format=json"), true);
        $price_data = array_values(array_filter($telegram_prices, function($item) use ($country) {
            return $item['country'] == $country;
        }))[0] ?? null;

        if (!$price_data['price'] || $price_data['count'] == "❌ ناموجود") {
            bot('answerCallbackQuery', [
                'callback_query_id' => $membercall,
                'text' => "❌ این سرویس برای کشور انتخابی موجود نیست!",
                'show_alert' => true
            ]);
            exit();
        $price=$price_data['price'];
$price = $price * (1 + floatval(trim(file_get_contents('sod.txt'))) / 100);
        if ($user2['coin'] < $price) {
            bot('answerCallbackQuery', [
                'callback_query_id' => $membercall,
                'text' => "❌ موجودی شما کافی نیست!",
                'show_alert' => true
            ]);
            exit();
        }

        $service_id = 1;
        $api_url = "https://api.ozvinoo.xyz/web/515828798:Sa2BJA2hwCQeZ1eRDNbjFj0DQVa1AckQi2oMDib7keE0/getNumber/{$service_id}/{$country_code}?format=json";
        $response = file_get_contents($api_url);
        $data = json_decode($response, true);

        if ($data && isset($data['number'])) {
            $order_code = uniqid('ORD_', true);
            $price=$data['price'];
            $price = $price * (1 + floatval(trim(file_get_contents('sod.txt'))) / 100);
            mysqli_query($connect, "INSERT INTO orders (order_code, chat_id, service, country, phone_number, price, request_id) 
                VALUES ('$order_code', '$chatid', '$service', '$country', '{$data['number']}', '$price', '{$data['request_id']}')");

            deleteMessage($chatid, $msgid);
            sendMessage($chatid, "✅ شماره مجازی دریافت شد!", $back);

            $pricenum = number_format($price);
            $message = "شماره شما: {$data['number']}\nکشور: {$country}\nقیمت: {$pricenum} تومان\nکیفیت: {$data['quality']}\n\n❗️ تا زمانیکه کد دریافت نشود مبلغی از حساب شما کسر نخواهد شد!";
            $inline_keyboard = json_encode([
                'inline_keyboard' => [
                    [['text' => '♻️ دریافت کد', 'callback_data' => 'get_code_' . $order_code]],
                    [['text' => 'انصراف', 'callback_data' => 'main_menu']]
                ]
            ]);
            sendMessage($chatid, $message, $inline_keyboard);
        } else {
            $error = $data['error_msg'] ?? 'نامشخص';
            deleteMessage($chatid, $msgid);
            sendMessage($chatid, "خطا در دریافت شماره. لطفا دوباره تلاش کنید.\nارور:\n$error", $keyboard);
        }
    } else {
        // numberland
        $svcode = $services2[$service];

        $api_response = json_decode(file_get_contents("https://api.numberland.ir/v2.php/?apikey=$apinumberland&method=getinfo&service=$svcode&operator=min&country=$country_code2"), true);

        function findCheapestOperator($api_response) {
            $min_amount = PHP_INT_MAX;
            $cheapest_operator = null;
            foreach ($api_response as $item) {
                if ($item['count'] != "0") {
                    $amount = (int)$item['amount'];
                    if ($amount < $min_amount) {
                        $min_amount = $amount;
                        $cheapest_operator = $item['operator']."|".$item['amount'];
                    }
                }
            }
            return $cheapest_operator;
        }

        $get = findCheapestOperator($api_response);
        $ex = explode("|", $get);
        $operator = $ex[0];
        $price = $ex[1];
$price = $price * (1 + floatval(trim(file_get_contents('sod.txt'))) / 100);
        if ($price < 1000) {
            deleteMessage($chatid, $msgid);
            sendMessage($chatid, "❌ این سرویس برای کشور انتخابی موجود نیست.", $keyboard);
            exit();
        }

        if ($user2['coin'] < $price) {
            $coin = number_format($user2['coin']);
            $pricef = number_format($price);
            deleteMessage($chatid, $msgid);
            sendMessage($chatid, "موجودی کافی نیست! موجودی شما $coin تومان\nمبلغ شماره: $pricef تومان", $keyboard);
            exit();
        }

        $getnum = json_decode(file_get_contents("https://api.numberland.ir/v2.php/?apikey=$apinumberland&method=getnum&country=$country_code2&operator=$operator&service=$svcode"), true);

        if ($getnum && isset($getnum['RESULT']) && $getnum['RESULT'] == 1) {
            $number = "+" . $getnum['NUMBER'];
            $price = $getnum['AMOUNT'];
            $price = $price * (1 + floatval(trim(file_get_contents('sod.txt'))) / 100);
            $request_id = $getnum['ID'];
            $time = $getnum['TIME'];
            $order_code = uniqid('ORD_', true);

            mysqli_query($connect, "INSERT INTO orders (order_code, chat_id, service, country, phone_number, price, request_id) 
                VALUES ('$order_code', '$chatid', '$service', '$country', '$number', '$price', '$request_id')");
 mysqli_query($connect, "UPDATE user SET buy='pending',buycode='$request_id' WHERE id='$chatid'");
            deleteMessage($chatid, $msgid);
            sendMessage($chatid, "✅ شماره مجازی دریافت شد!", $back);

            $pricenum = number_format($price);
            $message = "شماره شما: $number\nکشور: $country\nقیمت: $pricenum تومان\nمدت فعال بودن: $time\n\n❗️ تا زمان دریافت کد، مبلغی از حساب شما کسر نخواهد شد!";
            $inline_keyboard = json_encode([
                'inline_keyboard' => [
                    [['text' => '♻️ دریافت کد', 'callback_data' => 'get_code_' . $order_code]],
                    [['text' => 'انصراف', 'callback_data' => 'main_menu']]
                ]
            ]);
            sendMessage($chatid, $message, $inline_keyboard);
        } else {
            deleteMessage($chatid, $msgid);
            $why = $getnum['DESCRIPTION'] ?? 'نامشخص';
            sendMessage($chatid, "⛔️ خطا در دریافت شماره از سرویس: $why");
        }
    }
}

// پردازش خروج از اکانت
if (isset($data) && strpos($data, 'logout_') === 0) {
    
        $parts = explode('|', substr($data, strlen('logout_')));
    $request_id = $parts[0];
    $order_code = $parts[1];
    $order = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM orders WHERE order_code = '$order_code' LIMIT 1"));
     $service = $order['service'];
    $country = $order['country'];
    if($service=="telegram"){
    $api_url = "https://api.ozvinoo.xyz/web/515828798:Sa2BJA2hwCQeZ1eRDNbjFj0DQVa1AckQi2oMDib7keE0/logout/{$request_id}?format=json";
    $response = file_get_contents($api_url);
    $api_data = json_decode($response, true);
}else{
    $api_data=json_decode(file_get_contents("https://api.numberland.ir/v2.php/?apikey=$apinumberland&method=closenumber&id=$request_id"),true);
}
    if ($api_data['success'] === true or $api_data['DESCRIPTION'] == "completed") {
        // آپدیت پیام به حالت خروج
                            $inline_keyboard = json_encode([
            'inline_keyboard' => [
                [['text' => '🛒 خرید مجدد', 'callback_data' => 'rebuy_' . $service . '|' . $country]],
               [['text' => '🔙 منو اصلی', 'callback_data' => 'main_menu']]
            ]
        ]);
        bot('editMessageText', [
            'chat_id' => $chatid,
            'message_id' => $messageid,
            'text' => "✅ خروج از اکانت با موفقیت انجام شد.",
            'reply_markup' => $inline_keyboard

        ]);

        bot('answerCallbackQuery', [
            'callback_query_id' => $membercall,
            'text' => '✅ خروج با موفقیت انجام شد!',
            'show_alert' => true
        ]);
        exit();
    } else {
        $error = $api_data['error_msg'] ?? 'نامشخص';
        bot('answerCallbackQuery', [
            'callback_query_id' => $membercall,
            'text' => "خطا در خروج از اکانت: $error",
            'show_alert' => true
        ]);
        exit();
    }
}
elseif (isset($data) && $data == 'purchase_history') {
    include("jdf.php");
    $orders_query = mysqli_query($connect, "SELECT * FROM orders WHERE chat_id = '$chatid' AND status = 'complete' ORDER BY created_at DESC");
    $orders = [];
    while ($row = mysqli_fetch_assoc($orders_query)) {
        $orders[] = $row;
    }

    if (empty($orders)) {
      //  sendMessage($chatid, '🛍 هیچ سابقه خریدی یافت نشد.', null);
        bot('answerCallbackQuery', [
            'callback_query_id' => $membercall,
            'text' => 'هیچ سفارشی یافت نشد!',
            'show_alert' => true
        ]);
        exit();
    }

    // ساخت پیام سوابق خرید
    $message = "🛍 لیست خریدهای اخیر شما، این لیست تنها جهت اطلاع شماست و کاربرد دیگری ندارد:\n\n";
    foreach ($orders as $order) {
        $purchase_date = jdate('Y/m/d', strtotime($order['created_at']));
        $price = number_format($order['price']);
        $message .= "📲 شماره: {$order['phone_number']}\n" .
                    "⏰ زمان خرید: $purchase_date\n" .
                    "💰 قیمت: $price تومان\n" .
                    "💬 سرویس و کشور: {$order['service']} - {$order['country']}\n" .
                    "━ ━\n";
    }

    sendMessage($chatid, $message, null);
    exit();
}
}
elseif($text == '/start' or $text=='🔙 منو اصلی'){
    if($user['id']==null){
$connect->query("INSERT INTO user (id, step) VALUES ('$chat_id', 'none')");
}
$connect->query("UPDATE user SET step='none' WHERE id='$chat_id'");
if($user['buy']=='pending'){
            $rq=$user['buycode'];
             file_get_contents("https://api.numberland.ir/v2.php/?apikey=$apinumberland&method=bannumber&id=$rq");
            sendmessage($chat_id,"دریافت شماره مجازی کنسل شد!");
            $connect->query("UPDATE user SET buy='none' WHERE id='$chat_id'");
        }
   sendmessage($chat_id,"  سلام به ربات  خوش آمدید ❣️

📌 جهت استفاده از ربات لطفا یکی از موارد زیر را انتخاب کنید
",$start);   
exit();
}
if (!join1($chat_id)) {
    sendMessage($chat_id, "⚠️ کاربر گرامی؛ شما عضو کانال نیستید

از طریق دکمه زیر وارد کانال شده و عضو شوید

پس از عضویت دکمه *عضو شدم* را لمس کنید ✅", $join, "markdown");
    exit();
}
elseif ($text == "🛍 خرید شماره مجازی") {
    mysqli_query($connect, "UPDATE user SET step='select_virtual_country' WHERE id='$chat_id'");
    $buttons = array_chunk(array_map(function($k) {
        return ['text' => $k];
    }, array_keys($services)), 2);
    $buttons[] = [['text' => '🔙 منو اصلی']];
    
    $keyboard = json_encode(['keyboard' => $buttons, 'resize_keyboard' => true]);
    sendMessage($chat_id, "لطفا سرویس مورد نظر را انتخاب کنید:", $keyboard);
    exit();
}

elseif ($user['step'] == 'select_virtual_country') {
    $en_service = $services[$text];
     mysqli_query($connect, "UPDATE user SET step='getnumber|$en_service' WHERE id='$chat_id'");
$buttons = array_chunk(array_map(function($k) {
        return ['text' => $k];
    }, array_keys($countries)), 2);
    $buttons[] = [['text' => '🔙 منو اصلی']];
    $keyboard = json_encode(['keyboard' => $buttons, 'resize_keyboard' => true]);
    sendMessage($chat_id, "🌍 لطفا کشور مورد نظر را انتخاب کنید:", $keyboard);
    exit();
}
elseif (preg_match('/^getnumber\|(.+)$/', $user['step'], $matches)) {
    $msg = sendMessage($chat_id, "✨ درحال ارتباط با سرویس...");
    $msgid = $msg['result']['message_id'];
    $en_service = $matches[1];
    $selected_country = $text;
    $country_code = $countries[$selected_country] ?? null;
    $country_code2 = $countries2[$selected_country] ?? null;
    // اطلاعات قیمت برای تلگرام


    // بررسی تلگرام
    if ($en_service == 'telegram') {
            $telegram_prices = json_decode(file_get_contents("https://api.ozvinoo.xyz/web/$apicalino/get-prices/1?format=json"), true);
        $price_data = array_values(array_filter($telegram_prices, function($item) use ($selected_country) {
            return $item['country'] == $selected_country;
        }))[0] ?? null;

        if (!$price_data || $price_data['count'] == "❌ ناموجود") {
            deleteMessage($chat_id, $msgid);
            sendMessage($chat_id, "این سرویس برای کشور انتخابی موجود نیست.", $keyboard);
            exit();
        }
        $price=$price_data['price'];
$price = $price * (1 + floatval(trim(file_get_contents('sod.txt'))) / 100);
        if ($user['coin'] < $price) {
            $coin = number_format($user['coin']);
            $price = number_format($price);
            deleteMessage($chat_id, $msgid);
            sendMessage($chat_id, "موجودی کافی نیست! موجودی شما $coin تومان\nمبلغ شماره: $price تومان", $keyboard);
            exit();
        }

        $service_id = 1; // سرویس آیدی تلگرام
        $api_url = "https://api.ozvinoo.xyz/web/515828798:Sa2BJA2hwCQeZ1eRDNbjFj0DQVa1AckQi2oMDib7keE0/getNumber/{$service_id}/{$country_code}?format=json";
        $response = file_get_contents($api_url);
        $data = json_decode($response, true);

        if ($data && isset($data['number'])) {
            // تولید کد سفارش منحصربه‌فرد
            $order_code = uniqid('ORD_', true); // مثلاً: ORD_1234567890abcdef

            // ثبت سفارش در جدول orders
            $query = "INSERT INTO orders (order_code, chat_id, service, country, phone_number, price, request_id) 
                      VALUES ('$order_code', '$chat_id', '$en_service', '$selected_country', '{$data['number']}', '{$data['price']}', '{$data['request_id']}')";
            mysqli_query($connect, $query);

            deleteMessage($chat_id, $msgid);
            sendMessage($chat_id, "✅ شماره مجازی دریافت شد!", $back);
            $price = $data['price'];
            $price = $price * (1 + floatval(trim(file_get_contents('sod.txt'))) / 100);
            $pricenum = number_format($price);
            $message = "شماره شما: {$data['number']}\nکشور: $selected_country\nقیمت: $pricenum تومان\nکیفیت: {$data['quality']}\n\n❗️ تا زمانیکه کد دریافت نشود مبلغی از حساب شما کسر نخواهد شد!";
            $inline_keyboard = json_encode([
                'inline_keyboard' => [
                    [['text' => '♻️ دریافت کد', 'callback_data' => 'get_code_' . $order_code]],
                    [['text' => 'انصراف', 'callback_data' => 'main_menu']]
                ]
            ]);
            sendMessage($chat_id, $message, $inline_keyboard);
            exit();
        } else {
            $error = $data['error_msg'] ?? 'نامشخص';
            deleteMessage($chat_id, $msgid);
            sendMessage($chat_id, "خطا در دریافت شماره. لطفا دوباره تلاش کنید.\nارور:\n$error", $keyboard);
            exit();
        }
    } else {
        //number land
        $svcode=$services2[$en_service];
$api_response = json_decode(file_get_contents("https://api.numberland.ir/v2.php/?apikey=$apinumberland&method=getinfo&service=$svcode&operator=min&country=$country_code2"), true);
function findCheapestOperator($api_response) {
    $min_amount = PHP_INT_MAX;
    $cheapest_operator = null;

    foreach ($api_response as $item) {
        if ($item['count'] != "0") {
            $amount = (int)$item['amount'];
            if ($amount < $min_amount) {
                $min_amount = $amount;
                $cheapest_operator = $item['operator']."|".$item['amount'];
            }
        }
    }

    return $cheapest_operator;
}

$get = findCheapestOperator($api_response);
$ex=explode("|",$get);
$operator=$ex[0];
$price=$ex[1];
$price = $price * (1 + floatval(trim(file_get_contents('sod.txt'))) / 100);
 if ($price<1000) {
            deleteMessage($chat_id, $msgid);
            sendMessage($chat_id, "این سرویس برای کشور انتخابی موجود نیست.", $keyboard);
            exit();
        }
        if ($user['coin'] < $price) {
            $coin = number_format($user['coin']);
            $price = number_format($price);
            deleteMessage($chat_id, $msgid);
            sendMessage($chat_id, "موجودی کافی نیست! موجودی شما $coin تومان\nمبلغ شماره: $price تومان", $keyboard);
            exit();
        }
        $get=json_decode(file_get_contents("https://api.numberland.ir/v2.php/?apikey=$apinumberland&method=getnum&country=$country_code2&operator=$operator&service=$svcode"),true);
if ($get && isset($get['RESULT']) && $get['RESULT'] == 1) {
    $number = "+".$get['NUMBER'];
    $price = $get['AMOUNT'];
    $price = $price * (1 + floatval(trim(file_get_contents('sod.txt'))) / 100);
    $request_id = $get['ID'];
    $order_code = uniqid('ORD_', true);

    mysqli_query($connect, "INSERT INTO orders (order_code, chat_id, service, country, phone_number, price, request_id) 
                            VALUES ('$order_code', '$chat_id', '$en_service', '$selected_country', '$number', '$price', '$request_id')");
 mysqli_query($connect, "UPDATE user SET buy='pending',buycode='$request_id' WHERE id='$chat_id'");
    deleteMessage($chat_id, $msgid);
    sendMessage($chat_id, "✅ شماره مجازی دریافت شد!", $back);

    $pricenum = number_format($price);
    $message = "شماره شما: $number\nکشور: $selected_country\nقیمت: $pricenum تومان\nمدت زمان فعال بودن: {$get['TIME']}\n\n❗️تا زمان دریافت کد، مبلغی از حسابت کسر نمی‌شود.";

    $inline_keyboard = json_encode([
        'inline_keyboard' => [
            [['text' => '♻️ دریافت کد', 'callback_data' => 'get_code_' . $order_code]],
            [['text' => 'انصراف', 'callback_data' => 'main_menu']]
        ]
    ]);

    sendMessage($chat_id, $message, $inline_keyboard);
} else {
    deleteMessage($chat_id, $msgid);
    $why=$get['DESCRIPTION'];
    sendMessage($chat_id, "⛔️ خطا در دریافت شماره از سرویس : $why");
}

        
        
        
        
        // برای سایر سرویس‌ها خالی می‌ذارم
        // خودت اینجا کد بزن
        
        
        
        
        
    }
}
elseif ($text == "💸 انتقال موجودی") {
    mysqli_query($connect, "UPDATE user SET step = 'transfer_enter_id' WHERE id = '$chat_id'");
    sendMessage($chat_id, "🧾 لطفاً آیدی عددی کاربر مقصد را وارد کنید:",$back);
}
elseif ($user['step'] == 'transfer_enter_id') {
    if (!is_numeric($text)) {
        sendMessage($chat_id, "❌ لطفاً فقط عدد وارد کنید. آیدی عددی کاربر مقصد را بنویسید:");
        exit();
    }

    $receiver_id = $text;
    $check = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM user WHERE id='$receiver_id'"));
    if (!$check) {
        sendMessage($chat_id, "❌ کاربر مورد نظر یافت نشد. لطفاً آیدی عددی معتبر وارد کنید:");
        exit();
    }

    mysqli_query($connect, "UPDATE user SET step = 'transfer_enter_amount', temp = '$receiver_id' WHERE id = '$chat_id'");
    sendMessage($chat_id, "✅ آیدی ذخیره شد!\n\n💰 حالا مبلغی که می‌خواهید منتقل کنید را وارد نمایید (به تومان):",$back);
}
elseif ($user['step'] == 'transfer_enter_amount') {
    if (!is_numeric($text) || $text < 1) {
        sendMessage($chat_id, "❌ مبلغ معتبر نیست. لطفاً فقط عدد بزرگتر از 0 وارد کنید:");
        exit();
    }

    $amount = intval($text);
    $receiver_id = $user['temp'];
    $sender_coin = $user['coin'];

    if ($sender_coin < $amount) {
        sendMessage($chat_id, "❌ موجودی کافی نیست!\n💰 موجودی فعلی شما: " . number_format($sender_coin) . " تومان",$start);
        mysqli_query($connect, "UPDATE user SET step = 'none' WHERE id = '$chat_id'");
        exit();
    }

    // انتقال موجودی
    mysqli_query($connect, "UPDATE user SET coin = coin - $amount, step = 'none', temp = '' WHERE id = '$chat_id'");
    mysqli_query($connect, "UPDATE user SET coin = coin + $amount WHERE id = '$receiver_id'");

    sendMessage($chat_id, "✅ مبلغ " . number_format($amount) . " تومان با موفقیت به کاربر $receiver_id منتقل شد.",$start);

    // اطلاع‌رسانی به گیرنده
    sendMessage($receiver_id, "🎁 مبلغ " . number_format($amount) . " تومان از طرف کاربر $chat_id برای شما واریز شد.");
}
elseif($text=="➕ افزایش موجودی"){
       $key=json_encode(['inline_keyboard'=>[
    [['text'=>'💵 درگاه بانکی','callback_data'=>'zarinpal']],
    ]]);
    sendMessage($chat_id, "روش افزایش موجودی را انتخاب کنید",$key);
}
elseif($user['step']=='zarinpal'){
    if(!is_numeric($text) or $text <1000){
        sendMessage($chat_id, "حداقل مبلغ واریزی هزار تومان است!");
exit();
    }
    if($text>100000 and $user['verify']!="yes"){
               $key=json_encode(['inline_keyboard'=>[
    [['text'=>'✨ احراز هویت','callback_data'=>'verify_identity']],
    ]]);
    sendMessage($chat_id, "❌ برای مبالغ بالاتر از 100,000 تومان احراز هویت لازم است!",$key);
    exit();
    }
                $key=json_encode(['inline_keyboard'=>[

    [['text'=>'💴 پرداخت','url'=>"https://mediacellbot.ir/bot/payz.php?amount=$text&chat=$chat_id"]],
    ]]);mysqli_query($connect, "UPDATE user SET step = 'none' WHERE id = '$chat_id'");
    $amo = number_format($text);
    sendmessage($chat_id,"برای پرداخت مبلغ $amo تومان روی دکمه زیر کلیک کنید:",$key);
     sendmessage($chat_id,"به منوی اصلی برگشتید:",$start);
}
    elseif($text=="📜 ارسال مدرک شناسایی"){
        if($user['verify']=="pending" or $user['verify']=="yes"){
             sendmessage($chat_id,"احراز شما انجام شده یا درحال انجام است!.");
             exit();
        }
            $connect->query("UPDATE user SET step='verify' WHERE id='$chat_id'");
   sendmessage($chat_id,"📬 جهت ثبت مدارک لطفاً فقط و فقط مدرک شناسایی درخواست شده را ارسال کنید :",$back);       
    }
elseif($user['step']=="verify" and isset($photoid)){
        bot('sendPhoto', [
        'chat_id' => 5406269799,
        'photo' => $photoid,
        'parse_mode'=>"html",
        'caption' => "🧾 مدرک شناسایی دریافت شد.
👤 کاربر:  <code>$chat_id </code>
🔰 یوزرنیم: @$username

تایید شود؟",
        'reply_markup' => json_encode(['inline_keyboard'=>[
            [['text'=>"✅ تایید",'callback_data'=>"approve|$chat_id"]],
            [['text'=>"❌ رد",'callback_data'=>"reject|$chat_id"]],
        ]])
    ]);
    mysqli_query($connect, "UPDATE user SET step = 'none',verify='pending' WHERE id = '$chat_id'");
    sendmessage($chat_id,"مدرک شناسایی شما برای تایید ارسال شد، لطفا منتظر بمانید.",$start);
}
elseif ($text == "👤 حساب کاربری") {
    require_once 'jdf.php';
    // فرمت تاریخ عضویت به شمسی
    $created_at = $user['created_at'];
    $join_date = jdate('Y/m/d', strtotime($created_at));

    // محاسبه تعداد سفارشات
    $order_query = mysqli_query($connect, "SELECT COUNT(*) as total FROM orders WHERE chat_id = '$chat_id' AND status = 'complete'");
    $order_count = mysqli_fetch_assoc($order_query)['total'];

    // محاسبه مجموع خریدها
    $total_purchase_query = mysqli_query($connect, "SELECT SUM(price) as total FROM orders WHERE chat_id = '$chat_id' AND status = 'complete'");
    $total_purchase = mysqli_fetch_assoc($total_purchase_query)['total'] ?? 0;
    $total_purchase_formatted = number_format($total_purchase);

    // فرمت موجودی
    $coin = number_format($user['coin']);

    // تاریخ و ساعت فعلی به شمسی
    $current_time = jdate('Y/m/d - H:i:s');

    // پیام حساب کاربری
    $message = "👤 شناسه کاربری: $chat_id\n" .
               "📆 تاریخ عضویت: $join_date\n" .
               "🛍 تعداد سفارشات: $order_count\n" .
               "💳 مجموع خریدها: $total_purchase_formatted تومان\n" .
               "💰 موجودی حساب: $coin تومان\n" .
               "⏰ تاریخ/زمان: $current_time";

    // دکمه‌های اینلاین
    $inline_keyboard = json_encode([
        'inline_keyboard' => [
            [['text' => '📜 سوابق خرید', 'callback_data' => 'purchase_history']],
            [['text' => '🔐 احراز هویت', 'callback_data' => 'verify_identity']]
        ]
    ]);

    sendMessage($chat_id, $message, $inline_keyboard);
    exit();
}

// بررسی متن کاربر
if ($text == "📋 تعرفه سرویس ها") {
    $result = $connect->query("SELECT * FROM plans ORDER BY id ASC");

    if ($result->num_rows == 0) {
        sendMessage($chat_id, "⚠️ هنوز هیچ تعرفه‌ای ثبت نشده است.");
    } else {
        $msg = "💎 تعرفه‌ها:\n\n";
        while ($row = $result->fetch_assoc()) {
            $title = $row['title'];
            $price = number_format($row['price']);
            $volume = $row['volume'];
            $duration = $row['duration'];

            $msg .= "🔰 $title - $duration روزه : $price تومان\n";
        }
        sendMessage($chat_id, $msg);
    }
}
elseif ($text == "❓راهنما") {
    sendMessage($chat_id,"متن راهنما");
}
elseif ($text == "☎️ پشتیبانی") {
    sendMessage($chat_id,"☎️
✨به بخش پشتیبانی خوش آمدید✨

لطفا با توجه به سوال خود به بخش مورد نظر پیام دهید

(زمان پاسخ دهی با توجه به حجم پیام ها متغییر هست، از شکیبایی شما سپاس گذاریم)

@");
}
elseif ($text == "♻️ استعلام شماره ها") {

    // ساخت دکمه‌ها از آرایه سرویس‌ها
    $inline = [];
    $buffer = [];

    foreach ($services as $service) { 
        $button = [
            'text' => $service['text'],
            'callback_data' => $service['callback'],
            'icon_custom_emoji_id' => $service['icon_custom_emoji_id']
        ];
        $buffer[] = $button;

        if (count($buffer) == 2) { // هر ردیف 2 دکمه
            $inline[] = $buffer;
            $buffer = [];
        }
    }

    if (!empty($buffer)) {
        $inline[] = $buffer;
    }

    // دکمه بازگشت
    $inline[] = [['text' => '🔙 بازگشت', 'callback_data' => 'main_menu']];

    $markup = json_encode(['inline_keyboard' => $inline]);

    sendMessage($chat_id, "📲 لطفاً یکی از سرویس‌ها را انتخاب کنید:", $markup);
}

// بخش پنل ادمین
if ($chat_id == 1283220206 || $chat_id == "5406269799") {

    if ($text == "/panel" || $text == "بازگشت") {
        $connect->query("UPDATE user SET step='none' WHERE id='$chat_id'");
        sendMessage($chat_id,"انتخاب کنید",$panel);
    }
    elseif ($text == 'آمار') {
        $users = mysqli_query($connect,"SELECT id FROM user");
        $total = mysqli_num_rows($users);
        sendMessage($chat_id,"اعضای کل ربات : $total");
    }
    elseif ($text == "تعیین درصد سود") {
        $connect->query("UPDATE `user` SET step = 'setsod' WHERE id = '$chat_id'");
        sendMessage($chat_id,"درصد سود برای هر شماره را بفرستید مثلا 20
20 درصد به قیمت هر شماره اضافه میکند",$back);
    }
    elseif ($user['step'] == "setsod") {
        if (!is_numeric($text)) exit();
        file_put_contents("sod.txt",$text);
        $connect->query("UPDATE `user` SET step = 'none' WHERE id = '$chat_id'");
        sendMessage($chat_id,"انجام شد",$panel);
    }
    elseif ($text == "پیام همگانی") {
        $connect->query("UPDATE `user` SET step = 's2a' WHERE id = '$chat_id'");
        sendMessage($chat_id, "متن مورد نظر را برای ارسال بفرستید.",$back);
    }
    elseif ($user['step'] == 's2a') {
        $connect->query("UPDATE `user` SET step = 'none' WHERE id = '$chat_id'");
        $text = urlencode($text);
        if ($photoid) {
            $text = urlencode($caption);
            $connect->query("INSERT INTO `send`(`step`, `text`, `from`, `user`,`photo`) VALUES ('send','$text','$chat_id','0','$photoid')");
        } else {
            $connect->query("INSERT INTO `send`(`step`, `text`, `from`, `user`) VALUES ('send','$text','$chat_id','0')");
        }
        sendMessage($chat_id, "ارسال شد.");
    }
    elseif ($text == "افزایش موجودی") {
        $connect->query("UPDATE user SET step='afz-id' WHERE id='$chat_id'");
        sendMessage($chat_id,"ایدی عددی کاربر؟",$backp);
    }
    elseif ($text == "کاهش موجودی") {
        $connect->query("UPDATE user SET step='kah-id' WHERE id='$chat_id'");
        sendMessage($chat_id,"ایدی عددی کاربر؟",$backp);
    }
    elseif ($user['step'] == "afz-id") {
        $connect->query("UPDATE user SET step='am-$text' WHERE id='$chat_id'");
        sendMessage($chat_id,"چند هزار ؟",$backp);
    }
    elseif ($user['step'] == "kah-id") {
        $connect->query("UPDATE user SET step='mak-$text' WHERE id='$chat_id'");
        sendMessage($chat_id,"چند هزار ؟",$backp);
    }
    elseif (preg_match("/^am\-(.*?)/",$user['step'])) {
        $cc = str_replace("am-",null,$user['step']);
        $connect->query("UPDATE user SET coin=coin+$text WHERE id='$cc'");
        $connect->query("UPDATE user SET step='none' WHERE id='$chat_id'");
        sendMessage($cc,"👤 کاربر عزیز
مقدار $text به حساب شما از طرف مدیریت اضافه شد✅");
        sendMessage($chat_id,"انجام شد.",$backp);
    }
    elseif (preg_match("/^mak\-(.*?)/",$user['step'])) {
        $cc = str_replace("mak-",null,$user['step']);
        $connect->query("UPDATE user SET coin=coin-$text WHERE id='$cc'");
        $connect->query("UPDATE user SET step='none' WHERE id='$chat_id'");
        sendMessage($chat_id,"انجام شد.",$backp);
    }
}