Récupération valeur JSON

Bonjour,

J’ai une page web qui affiche un JSON avec des valeurs, j’ai demandé à WizebotGPT
qui a généré ce script mais cela ne renvoie rien, avez-vous une idée?

let apiUrl = "http://xxx/get_server_info";

JS.wizebot.fetch_url(apiUrl, function(response) {
let data = JSON.parse(response);

// Extract values
let game = data.game;
let mapName = data.mapName;
let serverName = data.name;
let version = data.version;

// Format and send chat message
let message = `🎮 Server: ${serverName} | Game: ${game} | Map: ${mapName} | Version: ${version}`;
JS.wizebot.send_chat_message(message);

});

Bonjour,
Essaie d’éditer ton code ainsi:

  let apiUrl = "http://xxx/get_server_info";

    JS.wizebot.fetch_url(apiUrl, function(response) {
        try {
            let data = JSON.parse(response);

            // Vérification des données reçues
            if (!data.game || !data.mapName || !data.name || !data.version) {
                throw new Error("Données incomplètes reçues du serveur.");
            }

            // Extraction des valeurs
            let jeu = data.game;
            let nomCarte = data.mapName;
            let nomServeur = data.name;
            let version = data.version;

            // Formatage et envoi du message dans le chat
            let message = `🎮 Serveur : ${nomServeur} | Jeu : ${jeu} | Carte : ${nomCarte} | Version : ${version}`;
            JS.wizebot.send_chat_message(message);
        } catch (error) {
            console.error("Erreur lors de la récupération des infos serveur :", error);
            JS.wizebot.send_chat_message("⚠️ Impossible de récupérer les infos du serveur.");
        }
    });

Considérations relatives au protocole : Assurez-vous que http ://xxx/ get_server_info est accessible. Si vous utilisez HTTPS, mettez à jour en conséquence
Utilisez console.log pour le débogage : La journalisation de la réponse permet de diagnostiquer les problèmes.

Il est possible que ton problème ce résolve, et à défaut, la journalisation en .log donnera plus d’info sur ton problème.

Si toutefois cela transite par l’overlay Screen WB
Cet édit devrait suffire:

let apiUrl = "http://xxx/get_server_info";

JS.wizebot.fetch_url(apiUrl, function(response) {
    let data = JSON.parse(response);

    // Extract values
    let game = data.game;
    let mapName = data.mapName;
    let serverName = data.name;
    let version = data.version;

    // Create the HTML for the overlay
    let overlayHtml = `
        <div style="position: fixed; top: 10%; left: 50%; transform: translate(-50%, -50%);
                    background-color: rgba(0, 0, 0, 0.8); color: white; padding: 20px;
                    font-size: 20px; border-radius: 10px; text-align: center;">
            🎮 <strong>Server:</strong> ${serverName} <br>
            🕹️ <strong>Game:</strong> ${game} <br>
            🗺️ <strong>Map:</strong> ${mapName} <br>
            🏷️ <strong>Version:</strong> ${version}
        </div>`;

    // Display on the overlay
    $(".screen_div").html(overlayHtml);

    // Auto-remove after 10 seconds
    setTimeout(function() {
        setRefresh(); // Required to end the overlay animation
    }, 10000);
});

Bonsoir,
fetch_url n’existe pas :slight_smile:

Voici une version corrigé du code :

let apiUrl = "http://xxx/get_server_info";

// Appel à l'API via le tag avancé
let response = JS.wizebot.call_tag("urlcall", [apiUrl]);

try {
    let data = JSON.parse(response);

    // Extraction des infos
    let game = data.game || "N/A";
    let mapName = data.mapName || "N/A";
    let serverName = data.name || "Serveur inconnu";
    let version = data.version || "Inconnue";

    // Format du message
    let message = `🎮 Server: ${serverName} | Game: ${game} | Map: ${mapName} | Version: ${version}`;
    JS.wizebot.send_chat_message(message);

} catch (e) {
    JS.wizebot.send_chat_message("❌ Impossible de récupérer les infos du serveur.");
}

Corrigé par notre assistant GPT : ChatGPT - Wize.Bot - JS Helper

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.