false, 'error' => "Telegram API Error (HTTP {$httpCode}): " . ($error ?: $response) ]; } return json_decode($response, true); } // ========================================================= // ৩. মূল কার্যকারিতা (Action Handler) // ========================================================= if (!isset($_POST['action'])) { http_response_code(400); echo json_encode(['ok' => false, 'error' => 'কোনো Action নির্ধারণ করা হয়নি।']); exit; } $action = $_POST['action']; switch ($action) { case 'send_message': $telegramId = $_POST['telegram_id'] ?? null; $messageText = $_POST['message_text'] ?? null; if (!$telegramId || !$messageText) { http_response_code(400); echo json_encode(['ok' => false, 'error' => 'টেলিগ্রাম আইডি বা মেসেজ নেই।']); exit; } $params = [ 'chat_id' => $telegramId, 'text' => $messageText, 'parse_mode' => 'HTML' // HTML ফরম্যাটিং ব্যবহার করার জন্য ]; $result = callTelegramApi('sendMessage', $params); echo json_encode($result); break; case 'broadcast': $messageText = $_POST['broadcast_message'] ?? null; $imageUrl = $_POST['image_url'] ?? null; if (!$messageText) { http_response_code(400); echo json_encode(['ok' => false, 'error' => 'ব্রডকাস্ট মেসেজ অবশ্যই দিতে হবে।']); exit; } // --- ইউজার আইডি সংগ্রহের সিমুলেশন --- // **বাস্তবে: এখানে আপনার Firebase বা Database থেকে সকল ব্যবহারকারীর ID লোড করার লজিক লিখতে হবে।** $userIds = [$adminId, '1234567890']; // আপনার এডমিন আইডি এবং অন্যান্য ডামি আইডি // ------------------------------------ $successCount = 0; $failureCount = 0; $errorMessages = []; foreach ($userIds as $chat_id) { if ($imageUrl && filter_var($imageUrl, FILTER_VALIDATE_URL)) { // ছবি সহ মেসেজ $method = 'sendPhoto'; $params = [ 'chat_id' => $chat_id, 'photo' => $imageUrl, 'caption' => $messageText, 'parse_mode' => 'HTML' ]; } else { // শুধু মেসেজ $method = 'sendMessage'; $params = [ 'chat_id' => $chat_id, 'text' => $messageText, 'parse_mode' => 'HTML' ]; } $result = callTelegramApi($method, $params); if (isset($result['ok']) && $result['ok']) { $successCount++; } else { $failureCount++; $errorMessages[] = "ID {$chat_id} (Failed): " . ($result['error'] ?? 'Unknown Error'); } } echo json_encode([ 'ok' => true, 'message' => "ব্রডকাস্ট সম্পূর্ণ হয়েছে। সফল: {$successCount}, ব্যর্থ: {$failureCount}.", 'errors' => $errorMessages ]); break; case 'save_settings': // **বাস্তবে: এখানে আপনার Firebase কনফিগারেশন কীগুলি একটি সুরক্ষিত ফাইলে বা ডাটাবেসে সেভ করার লজিক লিখতে হবে। // ক্লায়েন্ট-সাইড (HTML) থেকে পাওয়া সেটিংসগুলি সরাসরি এই PHP ফাইলে সেভ করা নিরাপত্তাজনিত কারণে ভালো নয়।** // এখানে শুধু একটি সিমুলেশন বার্তা দেওয়া হচ্ছে $receivedSettings = $_POST; unset($receivedSettings['action']); echo json_encode([ 'ok' => true, 'message' => 'সেটিংস গৃহীত হয়েছে (সিমুলেশন)। প্রকৃত সেভ লজিক নিরাপদে প্রয়োগ করতে হবে।' ]); break; default: http_response_code(400); echo json_encode(['ok' => false, 'error' => 'অবৈধ অ্যাকশন।']); break; } ?>