<?php
if($text == '🔝 ارتقا شخص' && ($user->is_owner || $user->is_admin)) {
    setStep($chat_id, 'admin:promote_user_input');
    $cancel = json_encode([
        'keyboard' => [[['text' => '🔙 بازگشت به مدیریت']]],
        'resize_keyboard' => true
    ]);
    sendMessage($chat_id, "🔝 *ارتقا کاربر به ادمین کانال*\n\nلطفاً اطلاعات را در دو خط ارسال کنید:\n\nخط اول: شناسه عددی کانال\nخط دوم: شناسه عددی کاربر\n\nمثال:\n`-10012345678`\n`12345678`", $cancel);
    die;
}

if($user && $user->step == 'admin:promote_user_input' && ($user->is_owner || $user->is_admin)) {
    if($text == '🔙 بازگشت به مدیریت') {
        setStep($chat_id, 'none');
        sendMessage($chat_id, "عملیات لغو شد.", $admin_keyboard);
        die;
    }

    $lines = explode("\n", $text);
    if(count($lines) < 2) {
        sendMessage($chat_id, "⚠️ لطفاً اطلاعات را در دو خط ارسال کنید.\n\nخط اول: شناسه عددی کانال\nخط دوم: شناسه عددی کاربر");
        die;
    }

    $channel_id = trim($lines[0]);
    $target_user_id = trim($lines[1]);

    if(!is_numeric($channel_id)) {
        sendMessage($chat_id, "⚠️ شناسه کانال باید عددی باشد.");
        die;
    }

    if(!is_numeric($target_user_id)) {
        sendMessage($chat_id, "⚠️ شناسه کاربر باید عددی باشد.");
        die;
    }

    $permissions = [
        'can_change_info' => true,
        'can_post_messages' => true,
        'can_edit_messages' => true,
        'can_delete_messages' => true,
        'can_invite_users' => true,
        'can_restrict_members' => true,
        'can_manage_video_chats' => true
    ];

    $res = promoteChatMember($channel_id, $target_user_id, $permissions);

    if($res && isset($res->ok) && $res->ok) {
        sendMessage($chat_id, "✅ کاربر `$target_user_id` با موفقیت در کانال $channel_id ارتقا یافت و فول ادمین شد.", $admin_keyboard);
        setStep($chat_id, 'none');
    } else {
        $error = $res->description ?? "خطای ناشناخته (ممکن است ربات در این کانال ادمین نباشد یا دسترسی کافی نداشته باشد)";
        sendMessage($chat_id, "❌ خطا در ارتقا کاربر:\n\n$error", $admin_keyboard);
        setStep($chat_id, 'none');
    }
    die;
}
