AegoiaStop

Cache les topics et messages de tous les comptes d'Aegoia et ajoute un bouton permettant à l'utilisateur de contrôler leur affichage.

当前为 2022-10-08 提交的版本,查看 最新版本

// ==UserScript==
// @name         AegoiaStop
// @namespace    http://tampermonkey.net/
// @version      1.1.2
// @description  Cache les topics et messages de tous les comptes d'Aegoia et ajoute un bouton permettant à l'utilisateur de contrôler leur affichage.
// @author       Mr_Satisfaction
// @match        *://*.jeuxvideo.com/forums/*
// @icon         https://image.noelshack.com/fichiers/2018/27/4/1530827992-jesusreup.png
// @grant        none
// @license      MIT
// ==/UserScript==

function hideTopics() { // Fonction cachant les topics d'Aegoia lorsque appelée
    for (let foromer of foromers) {
        let pseudo = foromer.textContent.toLowerCase().replace(/[0-9]/g, ''); // On récupère le pseudo de l'auteur du topic (idem pour les fonctions suivantes)
        if (pseudo.includes('aego') || pseudo.includes('goia')) {
            foromer.parentNode.style.display = 'none'; // Si le pseudo de l'auteur du topic inclut 'aegoia' on masque le topic
        }
    }
}

function showTopics() { // Fonction montrant les topics d'Aegoia lorsque appelée
    for (let foromer of foromers) {
        let pseudo = foromer.textContent.toLowerCase().replace(/[0-9]/g, '');
        if (pseudo.includes('aego') || pseudo.includes('goia')) {
            foromer.parentNode.style.display = 'grid'; // Si le pseudo de l'auteur du topic inclut 'aegoia' on montre le topic
        }
    }
}

function hideMessages() { // Fonction cachant les messages d'Aegoia lorsque appelée
    for (let message of messages) {
        let pseudo = message.textContent.toLowerCase();
        if (pseudo.includes('aego') || pseudo.includes('goia')) {
            message.parentNode.parentNode.parentNode.style.display = 'none'; // Si le pseudo de l'auteur du message inclut 'aegoia' on cache ses messages
        }
    }
}

function showMessages() { // Fonction montrant les messages d'Aegoia lorsque appelée
    for (let message of messages) {
        let pseudo = message.textContent.toLowerCase();
        if (pseudo.includes('aego') || pseudo.includes('goia')) {
            message.parentNode.parentNode.parentNode.style.display = 'block'; // Si le pseudo de l'auteur du message inclut 'aegoia' on montre ses messages
        }
    }
}

let foromers = document.getElementsByClassName('xXx text-user topic-author'); // On récupère l'ensemble des pseudos des auteurs de la page de topics
let messages = document.getElementsByClassName('xXx bloc-pseudo-msg text-user'); // Et l'ensemble des pseudos des auteurs de messages du topic

const btn = document.createElement('button'); // Création, paramétrage et mise en page du bouton qui contrôle l'affichage des topics et messages d'Aegoia
btn.setAttribute('class', 'btn btn-actu-new-list-forum btn-actualiser-forum');
btn.style.setProperty('padding-left', '8px');
btn.style.setProperty('padding-right', '8px');
btn.style.setProperty('margin-left', 'auto');

if (localStorage.getItem('isScriptActivated')=='true' || localStorage.getItem('isScriptActivated')==undefined) { // Si le script est activé (il l'est par défaut) on cache les topics et messages d'Aegoia
    hideTopics();
    hideMessages();
    btn.innerText = 'Montrer Aegoia';
}
else {
    btn.innerText = 'Masquer Aegoia'; // Sinon on change juste le texte du bouton
}

if (window.location.href.includes('0-50-0-1-0-')) {
    document.getElementsByClassName('bloc-pagi-default px-3 px-lg-0')[0].insertBefore(btn, document.getElementsByClassName('pagi-after')[0]); // Ajout du bouton dans les pages de forums
}
else {
    document.getElementsByClassName('group-two')[0].appendChild(btn); // Ajout du bouton dans les topics
}

btn.addEventListener('click', () => { // Quand le bouton est cliqué
    if (localStorage.getItem('isScriptActivated')=='true' || !localStorage.getItem('isScriptActivated')) { // Si le script est déjà activé on le désactive
        showTopics();
        showMessages();
        localStorage.setItem('isScriptActivated', false); // On enregistre le statut de désactivation du script dans le stockage local du navigateur
        btn.innerText = 'Masquer Aegoia';
    }
    else { // Si le script est désactivé on l'active
        hideTopics();
        hideMessages();
        localStorage.setItem('isScriptActivated', true); // On enregistre le statut d'activation du script dans le stockage local du navigateur
        btn.innerText = 'Montrer Aegoia';
    }
});

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址