// ==UserScript== // @name JVChat Anti Cigarette // @namespace http://tampermonkey.net/ // @version 0.1.11 // @description Quelques options en plus pour JVChat Premium // @author NY_Yankees // @match http://*.jeuxvideo.com/forums/42-* // @grant GM_setValue // @grant GM_getValue // @downloadURL https://update.greasyfork.cloud/scripts/397861/JVChat%20Anti%20Cigarette.user.js // @updateURL https://update.greasyfork.cloud/scripts/397861/JVChat%20Anti%20Cigarette.meta.js // ==/UserScript== (function() { 'use strict'; // CSS quasi c/c du code de JVChat pour garder le même style let css = `` // Bloc HTML des options const blocOptions =` `; let pseudoPerso = "aloalol"; // Supprime les posts de ce fdp de cigarette function ignorerCigarette(message, auteur) { const cigarette = /^[0-9]*c[il]ga?re?[lt]{1,2}e[0-9]*$/; if (cigarette.test(auteur.toLowerCase())) { message.style.display = "none"; console.log(`Post de ${auteur} supprimé`); } } // Met le post en surbrillance si l'on vous cite function surbrillance(message, auteur) { const text = message.querySelector(".txt-msg").textContent; if (text.toLowerCase().includes(pseudoPerso.toLowerCase()) && pseudoPerso.toLowerCase() !== auteur.toLowerCase()) { message.style.backgroundColor = "rgba(206, 209, 239, 0.6)"; } } // Met à jour les valeurs des checkbox dans le storage function updateIgnore() { GM_setValue("ignore", document.querySelector("#jvchat-ignore-checkbox").checked); } function updateHighlight() { GM_setValue("highlight", document.querySelector("#jvchat-highlight-checkbox").checked); } addEventListener("jvchat:activation", () => { pseudoPerso = document.querySelector("#jvchat-user-pseudo").textContent.trim(); const blocInfo = document.querySelector("#jvchat-topic-info"); blocInfo.insertAdjacentHTML("beforeend", blocOptions); // Applique le css document.head.insertAdjacentHTML("beforeend", css); const ignoreCheckbox = document.querySelector("#jvchat-ignore-checkbox"); const highlightCheckbox = document.querySelector("#jvchat-highlight-checkbox"); highlightCheckbox.checked = GM_getValue("highlight", false); ignoreCheckbox.checked = GM_getValue("ignore", false); highlightCheckbox.onchange = updateHighlight; ignoreCheckbox.onchange = updateIgnore; }); addEventListener("jvchat:newmessage", event => { const isIgnore = document.querySelector("#jvchat-ignore-checkbox").checked; const isHighlightOn = document.querySelector("#jvchat-highlight-checkbox").checked; const message = document.querySelector(`.jvchat-message[jvchat-id="${event.detail.id}"]`); const auteur = message.querySelector(".jvchat-author").textContent.trim(); if (isHighlightOn) { surbrillance(message, auteur); } if (isIgnore) { ignorerCigarette(message, auteur); } }) })();