Topic de Blaff12 :

[Script] JVChat Premium

Et on retrouve le bug des commentaires imbriqués (quand on cite un message ayant déjà cité qqu'un) qui fout le bordel dans la citation...

Le 16 avril 2026 à 13:28:16 :

Le 16 avril 2026 à 13:18:22 Fion-danus a écrit :
il faut le coller ou le correctif notepad?

Quel correctif ?

https://anotepad.com/notes/62tq4gx3

Le 16 avril 2026 à 13:29:37 Fion-danus a écrit :
Le 16 avril 2026 à 13:28:16 :Le 16 avril 2026 à 13:18:22 Fion-danus a écrit :il faut le coller ou le correctif notepad?Quel correctif ? https://anotepad.com/notes/62tq4gx3

Tu as déjà Tampermonkey ?
Si oui, tu as déjà installé ce script ?

Le 16 avril 2026 à 13:37:46 :

Le 16 avril 2026 à 13:29:37 Fion-danus a écrit :
Le 16 avril 2026 à 13:28:16 :Le 16 avril 2026 à 13:18:22 Fion-danus a écrit :il faut le coller ou le correctif notepad?Quel correctif ? https://anotepad.com/notes/62tq4gx3

Tu as déjà Tampermonkey ?
Si oui, tu as déjà installé ce script ?

j'ai le script mais le clé a corrigé le blocage du chat au changement de page

Le 16 avril 2026 à 13:45:14 Fion-danus a écrit :
Le 16 avril 2026 à 13:37:46 :Le 16 avril 2026 à 13:29:37 Fion-danus a écrit :Le 16 avril 2026 à 13:28:16 :Le 16 avril 2026 à 13:18:22 Fion-danus a écrit :il faut le coller ou le correctif notepad?Quel correctif ? https://anotepad.com/notes/62tq4gx3Tu as déjà Tampermonkey ?Si oui, tu as déjà installé ce script ? j'ai le script mais le clé a corrigé le blocage du chat au changement de page

Dans ce cas, tu copies/colles tout le contenu du Anotepad pour remplacer l'ensemble du script actuel.
Le Anotepad contient TOUT le script, pas juste la correction.

Le 16 avril 2026 à 13:57:18 :

Le 16 avril 2026 à 13:45:14 Fion-danus a écrit :
Le 16 avril 2026 à 13:37:46 :Le 16 avril 2026 à 13:29:37 Fion-danus a écrit :Le 16 avril 2026 à 13:28:16 :Le 16 avril 2026 à 13:18:22 Fion-danus a écrit :il faut le coller ou le correctif notepad?Quel correctif ? https://anotepad.com/notes/62tq4gx3Tu as déjà Tampermonkey ?Si oui, tu as déjà installé ce script ? j'ai le script mais le clé a corrigé le blocage du chat au changement de page

Dans ce cas, tu copies/colles tout le contenu du Anotepad pour remplacer l'ensemble du script actuel.
Le Anotepad contient TOUT le script, pas juste la correction.

au début, j'avais collé le notepad à la suite, un génie; Merci pour l'aide clé

Le 16 avril 2026 à 14:21:16 :

Le 16 avril 2026 à 14:20:35 :

Le 16 avril 2026 à 14:18:45 EnormeBatard a écrit :
Le 16 avril 2026 à 14:16:04 :Le 16 avril 2026 à 14:12:49 :bon y a un script qui marche full oui ou merde ? ou je dois le coder moi meme Fait le toi même et partage le aux kheys qui savent pas faire j'en aurais pour l'aprem putain j'ai autre chose à foutre sah

T’étais pas au chômage toi ? https://image.noelshack.com/fichiers/2024/05/3/1706722184-poulet-eau-dg.gif

oui mais je travaille sur du code en lien avec mon métier https://image.noelshack.com/fichiers/2019/03/4/1547743731-goslin2.png

Mais imagine tu peux devenir une epop qui sauve les kheys https://image.noelshack.com/fichiers/2021/43/4/1635454847-elton-john-tison-golem.png

Le 16 avril 2026 à 14:22:52 Celestinoux a écrit :
Le 16 avril 2026 à 14:21:16 :Le 16 avril 2026 à 14:20:35 :Le 16 avril 2026 à 14:18:45 EnormeBatard a écrit :Le 16 avril 2026 à 14:16:04 :Le 16 avril 2026 à 14:12:49 :bon y a un script qui marche full oui ou merde ? ou je dois le coder moi meme Fait le toi même et partage le aux kheys qui savent pas faire j'en aurais pour l'aprem putain j'ai autre chose à foutre sahT’étais pas au chômage toi ? oui mais je travaille sur du code en lien avec mon métier Mais imagine tu peux devenir une epop qui sauve les kheys

- Papi, raconte-moi encore comment tu as sauvé des centaines d'âmes esseulées et acquis tes lettres de noblesse https://image.noelshack.com/fichiers/2016/48/1480890497-enfant.png
- C'est en l'an de grâce 2026, lors de la crise de la mise à jour du forum, que j'eusse vibecodé un nouveau JVchat... https://image.noelshack.com/fichiers/2017/20/1495181295-risitasvieux2.png

Vive le retour d'un script fonctionnel :-(

Le 16 avril 2026 à 14:31:01 :

Le 16 avril 2026 à 14:22:52 Celestinoux a écrit :
Le 16 avril 2026 à 14:21:16 :Le 16 avril 2026 à 14:20:35 :Le 16 avril 2026 à 14:18:45 EnormeBatard a écrit :Le 16 avril 2026 à 14:16:04 :Le 16 avril 2026 à 14:12:49 :bon y a un script qui marche full oui ou merde ? ou je dois le coder moi meme Fait le toi même et partage le aux kheys qui savent pas faire j'en aurais pour l'aprem putain j'ai autre chose à foutre sahT’étais pas au chômage toi ? oui mais je travaille sur du code en lien avec mon métier Mais imagine tu peux devenir une epop qui sauve les kheys

- Papi, raconte-moi encore comment tu as sauvé des centaines d'âmes esseulées et acquis tes lettres de noblesse https://image.noelshack.com/fichiers/2016/48/1480890497-enfant.png
- C'est en l'an de grâce 2026, lors de la crise de la mise à jour du forum, que j'eusse vibecodé un nouveau JVchat... https://image.noelshack.com/fichiers/2017/20/1495181295-risitasvieux2.png

tes citations ont un petit problème https://image.noelshack.com/fichiers/2017/18/1494048058-pppppppppppppppppppp.png

pour le nombre de connecté il est dans le payload

    "forumInfo": {
        "type": "forum-info",
        "id": "liste-forums-info",
        "header": {
            "title": "Infos",
            "btnVal": 530,
            "btnLabel": "connectés",
            "btnIcon": "icon-people"

en allant dans freshpayload.forumInfo.header.btnVal

doit y'avoir moyen d'avoir le nombre de co en temps reel.

pour supprimer les message à la racine du payload

"ajaxModerationToken": "xxxxxxxxxxxxxxxxxxxxxxx",

freshpayload.ajaxModerationToken

après numero du message messageId

pour supprimer et fech vers cet endpoint


    const params = new URLSearchParams({ids: messageId, type: "delete", ajax_hash: freshpayload.ajaxModerationToken });
    await fetch(`https://www.jeuxvideo.com/forums/message/delete?${params}`, {
        method: "POST"
    });

Le 16 avril 2026 à 13:09:59 :
Quand je pense que j'avais ça il y a encore peu de temps :d) https://image.noelshack.com/fichiers/2026/16/4/1776337548-farmol-noraux.png https://image.noelshack.com/fichiers/2026/16/4/1776337613-jvc-sans-pubs-1.jpg https://image.noelshack.com/fichiers/2026/16/4/1776337667-jvc-sans-pubs-2.jpg https://image.noelshack.com/fichiers/2026/16/4/1776337667-jvc-sans-pubs-3.jpg

Simple, épuré, tout tenait sur l'écran sans avoir besoin de scroller... https://image.noelshack.com/fichiers/2022/37/1/1663014384-ahi-pince-mais.png

Le forum de mes débuts sur JVC (oui je suis un newfag) https://image.noelshack.com/fichiers/2022/40/2/1664920666-ziouent1.png

C'était bien mieux en effet https://image.noelshack.com/fichiers/2022/40/2/1664920666-ziouent1.png

Le 16 avril 2026 à 18:23:27 Shiho-Miyano a écrit :
pour le nombre de connecté il est dans le payload

    "forumInfo": {
        "type": "forum-info",
        "id": "liste-forums-info",
        "header": {
            "title": "Infos",
            "btnVal": 530,
            "btnLabel": "connectés",
            "btnIcon": "icon-people"

en allant dans freshpayload.forumInfo.header.btnVal

doit y'avoir moyen d'avoir le nombre de co en temps reel.

Sauve-nous https://image.noelshack.com/fichiers/2026/03/3/1768426157-kana-arima-2.png

Le 16 avril 2026 à 18:27:20 :

Le 16 avril 2026 à 18:23:27 Shiho-Miyano a écrit :
pour le nombre de connecté il est dans le payload

    "forumInfo": {
        "type": "forum-info",
        "id": "liste-forums-info",
        "header": {
            "title": "Infos",
            "btnVal": 530,
            "btnLabel": "connectés",
            "btnIcon": "icon-people"

en allant dans freshpayload.forumInfo.header.btnVal

doit y'avoir moyen d'avoir le nombre de co en temps reel.

Sauve-nous https://image.noelshack.com/fichiers/2026/03/3/1768426157-kana-arima-2.png

je viens de me taper 15 scripts je promet de regarder d'ici 2 semaine si rand0max ne passe pas avant.

mais juste voilà tout les infos pour ecrire ou les infos comme edition ou autre sont dans le payload

y'a plus rien dans le dom sauf le texte.

après le dom des messages n'as pas changé possible surement du'tiliser le reverse html de blaff


function reverseMessage(node, isInit, isUl) {
    let quote = "";
    let prevIsP = false;
    let startsWithSpoil = false;

    for (let child of node.childNodes) {
        let name = child.nodeName;

        switch (name) {
            case "P": {
                quote += reverseMessage(child) + "\n\n";
                break;
            }
            case "STRONG": {
                quote += "'''" + reverseMessage(child) + "'''";
                break;
            }
            case "U": {
                quote += "<u>" + reverseMessage(child) + "</u>";
                break;
            }
            case "S": {
                quote += "<s>" + reverseMessage(child) + "</s>";
                break;
            }
            case "EM": {
                quote += "''" + reverseMessage(child) + "''";
                break;
            }
            case "BR": {
                quote += "\n";
                break;
            }
            case "UL": {
                quote += reverseMessage(child, false, true) + "\n\n";
                break;
            }
            case "OL": {
                quote += reverseMessage(child, false, false) + "\n\n";
                break;
            }
            case "LI": {
                if (isUl === true) {
                    quote += "* " + reverseMessage(child) + "\n";
                } else {
                    quote += "# " + reverseMessage(child) + "\n";
                }
                break;
            }
            case "DIV": {
                let classList = child.classList;
                if (classList.contains("bloc-spoil-jv")) {
                    if (quote === "") {
                        startsWithSpoil = true;
                    }
                    quote += "<spoil>" + reverseMessage(child) + "</spoil>\n\n"
                } else if (classList.contains("contenu-spoil")) {
                    quote += reverseMessage(child);
                }
                break;
            }
            case "SPAN": {
                let classList = child.classList;
                if (classList.contains("bloc-spoil-jv")) {
                    quote += "<spoil>" + reverseMessage(child) + "</spoil>";
                } else if (classList.contains("contenu-spoil")) {
                    quote += reverseMessage(child);
                }
                break;
            }
            case "LABEL": {
                break;
            }
            case "INPUT": {
                break;
            }
            case "IMG": {
                quote += child.alt;
                break;
            }
            case "A": {
                if (child.href) {
                    quote += child.href;
                } else {
                    quote += reverseMessage(child);
                }
                break;
            }
            case "PRE": {
                quote += reverseMessage(child) + "\n\n";
                break;
            }
            case "CODE": {
                quote += "code" + child.textContent + "/code";
                break;
            }
            case "BLOCKQUOTE": {
                if (prevIsP) {
                    quote = quote.trimEnd() + "\n" + reverseMessage(child).replace(/^/gm, '> ') + "\n\n";
                } else {
                    quote += reverseMessage(child).replace(/^/gm, '> ') + "\n\n";
                }

                break;
            }
            case "#text": {
                // The "isInit" check is to prevent the empty text surroudning message
                // However, it may happen that the root node contains valid text child, so it need to be added somehow
                // For some reason, an "new line" may be missing in this case, so just add it
                if (!isInit || child.textContent.trim() !== "") {
                    quote += child.textContent;
                    if (isInit && !quote.endsWith("\n")) {
                        quote += "\n";
                    }
                }
                break;
            }
            default: {
                break;
            }
        }

        if (name == "P") {
            prevIsP = true;
        } else {
            prevIsP = false;
        }
    }

    quote = quote.replace(/(\n){3,}/g, '\n\n');

    if (startsWithSpoil && isInit) {
        quote = "\n" + quote.trimEnd();
    } else {
        quote = quote.trim();
    }

    if (isInit) {
        quote = quote.replace(/^/gm, '> ');
    }

    return quote;
}

function reverseQuote(blocMessage) {
    let author = blocMessage.getElementsByClassName("jvchat-author")[0].textContent.trim();
    let date = blocMessage.getElementsByClassName("jvchat-date")[0].getAttribute("to-quote");
    //let header = `> Le ${date} ${author} a écrit :\n`;
    let header = `> Le ${date} :\n`;
    let quoted = reverseMessage(blocMessage.getElementsByClassName("txt-msg")[0], true);
    return header + quoted + '\n\n';
}
vue le bordel pour recuperer le jv code il vaut surement mieux adapter le fonction de l'ancien jvchat qui faisait du html to jvcode en renommant 2 3 classes
J'essaie de comprendre pourquoi ça désactive les avatars parce que sinon ça serait facile de les récupérer Il suffit juste de changer une valeur.

Le 16 avril 2026 à 18:29:37 Shiho-Miyano a écrit :

Le 16 avril 2026 à 18:23:27 Shiho-Miyano a écrit :
pour le nombre de connecté il est dans le payload

    "forumInfo": {
        "type": "forum-info",
        "id": "liste-forums-info",
        "header": {
            "title": "Infos",
            "btnVal": 530,
            "btnLabel": "connectés",
            "btnIcon": "icon-people"

en allant dans freshpayload.forumInfo.header.btnVal

je viens de me taper 15 scripts je promet de regarder d'ici 2 semaine si rand0max ne passe pas avant.

mais juste voilà tout les infos pour ecrire ou les infos comme edition ou autre sont dans le payload

y'a plus rien dans le dom sauf le texte.

après le dom des messages n'as pas changé possible surement du'tiliser le reverse html de blaff

Pour les spoils, les classes CSS c'est message__spoil et message__spoilContent maintenant, à la place de bloc-spoil-jv et contenu-spoil respectivement. https://image.noelshack.com/fichiers/2025/51/2/1765916853-1000013129.png

        const previewToggleButton = document.querySelector('.buttonSwitch');
        if (previewToggleButton.classList.contains('buttonSwitch--isActive') && !this.jvchatSettings.getSettingValue('display_preview_by_default')) {
            previewToggleButton.click();
        }
        if (!previewToggleButton.classList.contains('buttonSwitch--isActive') && this.jvchatSettings.getSettingValue('display_preview_by_default')) {
            previewToggleButton.click();
        }

C'est ces lignes qui font de la **** sur les avatars je vais voir si on peut les enlever et pourquoi ils ont été mises là..

Le 16 avril 2026 à 18:29:37 Shiho-Miyano a écrit :
Le 16 avril 2026 à 18:27:20 :Le 16 avril 2026 à 18:23:27 Shiho-Miyano a écrit :pour le nombre de connecté il est dans le payload "forumInfo": {
"type": "forum-info",
"id": "liste-forums-info",
"header": {
"title": "Infos",
"btnVal": 530,
"btnLabel": "connectés",
"btnIcon": "icon-people"en allant dans freshpayload.forumInfo.header.btnValdoit y'avoir moyen d'avoir le nombre de co en temps reel.Sauve-nous je viens de me taper 15 scripts je promet de regarder d'ici 2 semaine si rand0max ne passe pas avant. mais juste voilà tout les infos pour ecrire ou les infos comme edition ou autre sont dans le payload y'a plus rien dans le dom sauf le texte.

Pas moyen de trouver le ajax_hash pour delete et edit (payload.ajaxToken marche pas) https://image.noelshack.com/fichiers/2022/37/1/1663014384-ahi-pince-mais.png

Données du topic

Auteur
Blaff12
Date de création
9 juin 2018 à 21:11:24
Nb. messages archivés
3812
Nb. messages JVC
3826
Voir le topic sur JVC

Afficher uniquement les messages de l'auteur du topic

En ligne sur JvArchive
JvArchive compagnon
Découvrez JvArchive compagnon, l'userscript combattant la censure abusive sur le 18-25 !