<?php
if($text == "🛍 ثبت سفارش") {
    setStep($chat_id, 'none');
    $query = "SELECT * FROM `channels` WHERE `added_by` = ?";
    $stmt  = $pdo->prepare($query);
    $stmt->execute([$chat_id]);
    $channels = $stmt->fetchAll();
    $responseText = "🗂 *مدیریت کانال‌ها*\n\n" .
        "لیست کانال‌های ثبت شده شما در زیر نمایش داده شده است.\n\n" .
        "*برای ثبت سفارش، روی نام کانال کلیک کنید یا با دکمه «افزودن کانال»، کانال جدیدی اضافه کنید.*\n\n" .
        "⚠️ *نکته مهم:* ربات باید در کانال مورد نظر ادمین باشد!";
    $keyboard     = generateChannelsKeyboard($channels);
    sendMessage($chat_id, $responseText, $keyboard);
    die;
}


if($data == 'add_channel') {
    setStep($chat_id, 'add_channel');
    $responseText = "🔗 *افزودن کانال*\n\n" .
        "⚠️ *ربات باید در کانال شما ادمین باشد!*\n\n" .
        "لطفاً یوزرنیم یا لینک کانال خود را ارسال کنید:\n\n" .
        "✅ *فرمت‌های صحیح:*\n" .
        "• @my_channel\n" .
        "• https://ble.ir/my_channel\n\n" .
        "❌ *فرمت‌های نامعتبر:*\n" .
        "• لینک‌های خصوصی (ble.ir/+...)\n" .
        "• لینک‌های دعوت موقت\n\n" .
        "💡 *نکته:* اگر نمی‌دانید چطور ربات را ادمین کنید، دستور /HelpAddBot را ارسال کنید.";
    $keyboard = json_encode([
        "keyboard" => [
            [['text' => '🔙 بازگشت به منو قبل']]
        ],
        "resize_keyboard" => true
    ]);
    sendMessage($chat_id, $responseText, $keyboard);
    die;
}


if($user->step == 'add_channel') {
    $backKeyboard = json_encode([
        "inline_keyboard" => [
            [['text' => '🔙 بازگشت به منو قبل', 'callback_data' => 'main_menu']]
        ]
    ]);
    $username = str_replace(['https://ble.ir/', '@'], '', strtolower($text));

if(empty($username)) {
        $responseText = "🚫 *فرمت نامعتبر*\n\nلطفاً یک یوزرنیم یا لینک معتبر برای کانال ارسال کنید.";
        sendMessage($chat_id, $responseText, $backKeyboard);
} else {
        $chat = getChat("@$username");

if(isset($chat->result)) {
            $chat_info    = $chat->result;
            $channel_id   = $chat_info->id;
            $channel_type = $chat_info->type;

if(empty($chat_info->title)) {
                $responseText = "🚫 *خطای نام کانال*\n\nنام کانال دریافت نشد. لطفاً بررسی کنید که لینک/آیدی صحیح است و ربات دسترسی لازم را دارد.";
                sendMessage($chat_id, $responseText, $backKeyboard);
                die;
}

            $channel_title    = $chat_info->title;
            $channel_username = $chat_info->username ?? $username;
            $invite_link      = $chat_info->invite_link ?? "https://ble.ir/" . str_replace('@', '', $username);

if($channel_type != "channel") {
                $responseText = "🤨 *خطای ثبت کانال*\n\nامکان ثبت گروه وجود ندارد لطفاً یک یوزرنیم یا لینک معتبر برای کانال ارسال کنید:";
                sendMessage($chat_id, $responseText, $backKeyboard);
                die;
}

            $bot_member = getChatMember(strtolower($channel_id), BOT_ID);

if(isset($bot_member->result)) {
                $bot_status = $bot_member->result->status;

if($bot_status == 'administrator' || $bot_status == 'creator') {
                    $user_member = getChatMember(strtolower($channel_id), $from_id);

if(isset($user_member->result)) {
                        $user_status = $user_member->result->status;

if($user_status == 'administrator' || $user_status == 'creator') {
                            $check_query = "SELECT * FROM `channels` WHERE `channel_username` = ?";
                            $stmt_check  = $pdo->prepare($check_query);
                            $stmt_check->execute([$channel_username]);
                            $existing_channel = $stmt_check->fetch();

if($existing_channel) {
                                $responseText = "❌ *این کانال قبلاً در سیستم ثبت شده است.*";
                                sendMessage($chat_id, $responseText);
} else {
                                $query = "INSERT INTO `channels` (`channel_name`, `channel_username`, `added_by`, `invite_link`, `status`, `created_at`) VALUES (?, ?, ?, ?, 'active', NOW())";
                                $stmt  = $pdo->prepare($query);
                                try {
                                    $stmt->execute([$channel_title, $channel_username, $chat_id, $invite_link]);
                                    $responseText = "🎉 *کانال $channel_title با موفقیت اضافه شد!*\n\nاکنون می‌توانید برای این کانال سفارش ثبت کنید.";
                                    sendMessage($chat_id, $responseText);
                                    setStep($chat_id, 'none');
                                    $query = "SELECT * FROM `channels` WHERE `added_by` = ?";
                                    $stmt  = $pdo->prepare($query);
                                    $stmt->execute([$chat_id]);
                                    $channels = $stmt->fetchAll();
                                    $responseText = "🗂 *لیست کانال‌های شما*\n\nبرای ثبت سفارش، روی نام کانال مورد نظر کلیک کنید یا اگر می‌خواهید کانال جدیدی اضافه کنید، دکمه پایین را بزنید. 👇";
                                    $keyboard     = generateChannelsKeyboard($channels);
                                    sendMessage($chat_id, $responseText, $keyboard);
} catch (PDOException $e) {
                                    $responseText = "⚠️ *خطای سیستمی*\n\nمتاسفانه مشکلی در ثبت کانال رخ داد. لطفاً مجدداً تلاش کنید.";
                                    sendMessage($chat_id, $responseText, $backKeyboard);
}

}

} else {
                            $responseText = "⛔️ *عدم دسترسی*\n\nشما مالک یا ادمین کانال نیستید. فقط مدیران کانال می‌توانند آن را ثبت کنند.";
                            sendMessage($chat_id, $responseText, $backKeyboard);
}

} else {
                        $responseText = "⚠️ *خطا در دریافت اطلاعات*\n\nاطلاعات کاربری شما دریافت نشد. لطفاً دوباره تلاش کنید.";
                        sendMessage($chat_id, $responseText, $backKeyboard);
}

} else {
                    $responseText = "🤖 *ربات ادمین نیست*\n\n" .
                        "برای ثبت کانال، ربات باید *ادمین* باشد.\n" .
                        "لطفاً به تنظیمات کانال بروید و ربات را به عنوان مدیر (Admin) اضافه کنید.";
                    sendMessage($chat_id, $responseText, $backKeyboard);
}

} else {
                $responseText = "🤖 *ربات عضو نیست*\n\n" .
                    "ابتدا ربات را در کانال خود عضو و سپس *ادمین* کنید.";
                sendMessage($chat_id, $responseText, $backKeyboard);
}

} else {
            $responseText = "🚫 *کانال یافت نشد*\n\n" .
                "لطفاً بررسی کنید:\n" .
                "1️⃣ آیدی/لینک صحیح باشد.\n" .
                "2️⃣ ربات در کانال عضو باشد.";
            sendMessage($chat_id, $responseText, $backKeyboard);
}

}

    die;
}


if(strpos($data, 'delete-channel:') === 0) {
    $id = substr($data, strlen('delete-channel:'));
    $stmt = $pdo->prepare("SELECT `channel_name`, `channel_username` FROM `channels` WHERE `id` = ? AND `added_by` = ?");
    $stmt->execute([$id, $from_id]);
    $channelToDelete = $stmt->fetch();
    $stmt = $pdo->prepare("DELETE FROM `channels` WHERE `id` = ? AND `added_by` = ?");
    $stmt->execute([$id, $from_id]);
    $channelName = $channelToDelete ? ($channelToDelete->channel_name ?: $channelToDelete->channel_username) : 'انتخاب شده';
    answerCallbackQuery($query_id, "✅ کانال $channelName با موفقیت حذف شد", true);
    $stmt = $pdo->prepare("SELECT * FROM `channels` WHERE `added_by` = ?");
    $stmt->execute([$chat_id]);
    $channels = $stmt->fetchAll();
    $keyboard = generateChannelsKeyboard($channels);
    editMessageReplyMarkup($chat_id, $message_id, $keyboard);
    die;
}

