NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name GaS Digital Forums Spam Hider // @namespace https://gasdigitalnetwork.com/ // @version 0.1 // @description Hides spammers on GaS Digital forums // @author Garfield-Lzanya // @match https://gasdigitalnetwork.com/forums/* // @match https://gasdigitalnetwork.com/forums02/* // @run-at document-end // @grant GM_setValue // @grant GM_getValue // @grant GM_xmlhttpRequest // @connect pastebin.com // @license MIT // ==/UserScript== (function () { 'use strict'; const updateIntervalInMS = 28800000; //8 hours checkUpdateAndFirstTime(); var spamUserNames = GM_getValue("spammers"); if ((location.pathname.includes("/forums02/forum/")) || (location.pathname.startsWith("/forums/"))) { var starters = document.querySelectorAll(".bbp-topic-started-by a"); for (var s of starters) { if (spamUserNames.includes(decodeURIComponent(s.href.split("/")[5]))) { s.parentNode.parentNode.parentNode.parentNode.remove(); } } } else if (location.pathname.includes("/forums02/topic/")) { var repliers = document.querySelectorAll(".bbp-reply-author a"); for (var r of repliers) { if (spamUserNames.includes(decodeURIComponent(r.href.split("/")[5]))) { r.parentNode.parentNode.remove(); } } } function checkUpdateAndFirstTime() { var lastUpdate = GM_getValue("lastUpdate"); //First time if (!lastUpdate) { doUpdate(); return; } var currentTime = new Date().getTime(); //console.log("Spam list will be next updated " + new Date((lastUpdate + updateIntervalInMS))); if (currentTime > lastUpdate + updateIntervalInMS) { doUpdate(); } } function doUpdate() { var cacheBuster = new Date().getTime(); GM_xmlhttpRequest({ method: "GET", url: "https://pastebin.com/raw/PSVFptfj?nocache=" + cacheBuster, responseType: "json", onload: saveNewSpammerList }); } function saveNewSpammerList(response) { if (response.status != 200 && response.status != 304) { return; } var newSpammerArray = JSON.parse(response.responseText); //console.log(newSpammerArray) GM_setValue("spammers", newSpammerArray) var lastUpdate = new Date().getTime(); GM_setValue("lastUpdate", lastUpdate); console.log("Updated spammer list"); } })();