NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name nn.ru unwanted user posts and karma remover // @namespace http://tampermonkey.net/ // @version 0.1 // @description Hides unwanted user topics, posts and karma at www.nn.ru // @author RK // @match https://www.nn.ru/* // @grant none // @license MIT // ==/UserScript== //Закомментируйте, если не требуется скрывать карму window.onload = function removeKarma(){ let karmas = Array.from(document.getElementsByClassName('karma')); for (let k of karmas){ //console.dir(k + " removed"); k.parentElement.remove(); } } //setTimeout(function() { //внесите id нежелательных юзеров const FUCKER_IDS = [ 8581, //B-52 4049, //vivat 26447, //opeth ]; const RETAIN_TOPIC = false; //Оставлять тему в списке const RETAIN_AUTHOR_ITEM = false; //Оставлять заглавное сообщение const RETAIN_ANSWERED = false; //Оставлять ветки с ответами const SHOW_REMOVED = true; //Показывать удаленные ники let removedIDs = new Map(); function countRemoved(u) { let c = removedIDs.get(u) || 0; removedIDs.set(u, c + 1); } //console.time('time'); let prts = Array.from(document.getElementsByClassName('blueUrl PortraitLink')); for (let p of prts){ for(let fk of FUCKER_IDS) { if(/*p.hasAttribute('usid') &&*/ p.getAttribute('usid') == fk) { let branch = p.parentElement.parentElement.parentElement; if (RETAIN_AUTHOR_ITEM && branch.className == 'author-item') break; if (RETAIN_ANSWERED && branch.className != 'branch-last') break; branch.remove(); if (SHOW_REMOVED) countRemoved(p.innerText); //console.log(p.innerText + " with id=" + fk + " destroyed."); break; } } } function showRemoved(className){ let divToInsert = document.getElementsByClassName(className)[0]; let div = document.createElement('div'); div.innerHTML = "<strong>Removed: </strong>"; for (let val of removedIDs) div.innerHTML += val[0] + "(" + val[1] + "), "; div.innerHTML = div.innerHTML.slice(0,-2); divToInsert.before(div); } if (SHOW_REMOVED && removedIDs.size > 0) { showRemoved('forum-item-cont'); return; } //Topic list let topics = Array.from(document.getElementsByClassName('author-cont')); if (!RETAIN_TOPIC){ for (let t of topics){ for (let fk of FUCKER_IDS){ if(t.children[1].getAttribute('usid') == fk){ //console.log(t.children[1].innerText + " with id=" + fk + " destroyed."); t.parentElement.remove(); if (SHOW_REMOVED) countRemoved(t.children[1].innerText); break; } } } if (SHOW_REMOVED && removedIDs.size > 0) showRemoved('forum-list-cont'); } //console.timeEnd('time'); //}, 777);