false, 'error' => 'Acceso denegado.']); exit; } $chatId = $_POST['chat_id'] ?? null; $message = $_POST['message'] ?? null; if (!$chatId || !$message) { http_response_code(400); echo json_encode(['success' => false, 'error' => 'Faltan parámetros: chat_id y message son requeridos.']); exit; } try { $telegram = new TelegramSender($_ENV['TELEGRAM_BOT_TOKEN'], $pdo); // Se envía el mensaje. La clase TelegramSender se encargará de: // 1. Formatear el texto si es necesario. // 2. Añadir el botón de traducción (true). // 3. Registrar la interacción en la base de datos. $result = $telegram->sendMessage( $chatId, htmlspecialchars($message), // Usamos htmlspecialchars para seguridad básica ['parse_mode' => 'HTML'], true, // Añadir botón de traducción 'es' // El mensaje del admin se asume que es en español ); if ($result) { echo json_encode(['success' => true]); } else { // El error específico ya se loguea dentro de TelegramSender http_response_code(500); echo json_encode(['success' => false, 'error' => 'El servicio de Telegram no pudo enviar el mensaje.']); } } catch (Exception $e) { custom_log("Error fatal en admin_send_message.php: " . $e->getMessage()); http_response_code(500); echo json_encode(['success' => false, 'error' => 'Error interno del servidor al procesar la solicitud.']); }