Greasy Fork

Filtre Anti-Spam MP

Filtre les spams de MP sur JVC selon les patterns définis par l'utilisateur

目前为 2019-12-23 提交的版本。查看 最新版本

// ==UserScript==
// @name     Filtre Anti-Spam MP
// @description Filtre les spams de MP sur JVC selon les patterns définis par l'utilisateur
// @version  4
// @match        http://www.jeuxvideo.com/*
// @match        http://m.jeuxvideo.com/*
// @match        https://www.jeuxvideo.com/*
// @match        https://m.jeuxvideo.com/*
// @author       Alectrona
// @language     fr
// @grant    GM.getValue
// @grant    GM.setValue
// @namespace https://greasyfork.org/users/396340
// ==/UserScript==

var bl1 = [];
var bl2 = [];
var bl1tags;
var bl2tags;
var compteur;
if (document.getElementsByClassName('jv-account-number-mp')[0].className == "jv-account-number-mp has-notif") {
document.getElementsByClassName('jv-account-number-mp')[0].className = "jv-account-number-mp";
}

function ctrcheck() {
if (document.getElementsByClassName('jv-account-number-mp')[0].parentNode.className != 'jv-nav-account jv-nav-account-mp dropdown open') {
document.getElementsByClassName('jv-account-number-mp')[0].setAttribute('data-val', 0);
document.getElementsByClassName('jv-account-number-mp')[0].className = "jv-account-number-mp";
setTimeout(function(){
compteur = 0;
var docLinks = document.getElementsByClassName('jv-nav-dropdown-details');
var parent;
compteur = 0;
for(var i=0;i < docLinks.length; i++){
	var k = 0;
	var blmatch = 1;
	while(k < bl1.length && blmatch == 1) {
 var auth = docLinks[i].childNodes[0].innerHTML.toLowerCase();
 var str = bl1[k];
 if (str && auth.includes(str)) {
   parent = docLinks[i].parentNode;
   parent.style.display = "none";
   blmatch = 0;
 }
    k++;
	}
  
	var m = 0;
	while(m < bl2.length && blmatch == 1) {
 var auth2 = docLinks[i].childNodes[1].title.toLowerCase();;
 var str2 = bl2[m];
 if (str2 && auth2.includes(str2)) {
   parent = docLinks[i].parentNode;
   parent.style.display = "none";
   blmatch = 0;
 }
    m++;
	}
if (blmatch == 1 && docLinks[i].parentNode.className == "jv-nav-dropdown-item jv-nav-dropdown-unread") {
compteur++;
}
}


}, 200);
}
}

function editbl1() {
  var newbl1 = prompt("------------------------------- Saisissez les patterns de PSEUDOS à blacklister, séparés d'une virgule. (Insensible à la casse) -------------------------------", bl1tags);
  if (newbl1 != null) {
    newbl1 = newbl1.toLowerCase();
		bl1tags = newbl1;
    bl1 = newbl1.split(',');
    GM.setValue("abl1", JSON.stringify(bl1));
    
    
    setTimeout(function(){
compteur = 0;
var docLinks = document.getElementsByClassName('jv-nav-dropdown-details');
var parent;
compteur = 0;
for(var i=0;i < docLinks.length; i++){
	var k = 0;
	var blmatch = 1;
	while(k < bl1.length && blmatch == 1) {
 var auth = docLinks[i].childNodes[0].innerHTML.toLowerCase();
 var str = bl1[k];
 if (str && auth.includes(str)) {
   parent = docLinks[i].parentNode;
   parent.style.display = "none";
   blmatch = 0;
 }
 else {
 parent = docLinks[i].parentNode;
 parent.style.display = "";
 }
    k++;
	}
  
	var m = 0;
	while(m < bl2.length && blmatch == 1) {
 var auth2 = docLinks[i].childNodes[1].title.toLowerCase();;
 var str2 = bl2[m];
 if (str2 && auth2.includes(str2)) {
   parent = docLinks[i].parentNode;
   parent.style.display = "none";
   blmatch = 0;
 }
 else {
 parent = docLinks[i].parentNode;
 parent.style.display = "";
 }
    m++;
	}
if (blmatch == 1 && docLinks[i].parentNode.className == "jv-nav-dropdown-item jv-nav-dropdown-unread") {
compteur++;
}
}


}, 200);    
  }
}

function editbl2() {
  var newbl2 = prompt("---------------------------- Saisissez les patterns d'OBJETS DE MP à blacklister, séparés d'une virgule. (Insensible à la casse) ----------------------------", bl2tags);
  if (newbl2 != null) {
    newbl2 = newbl2.toLowerCase();
    bl2tags = newbl2;
    bl2 = newbl2.split(',');
    GM.setValue("abl2", JSON.stringify(bl2));
    
    
    setTimeout(function(){
compteur = 0;
var docLinks = document.getElementsByClassName('jv-nav-dropdown-details');
var parent;
compteur = 0;
for(var i=0;i < docLinks.length; i++){
	var k = 0;
	var blmatch = 1;
	while(k < bl1.length && blmatch == 1) {
 var auth = docLinks[i].childNodes[0].innerHTML.toLowerCase();
 var str = bl1[k];
 if (str && auth.includes(str)) {
   parent = docLinks[i].parentNode;
   parent.style.display = "none";
   blmatch = 0;
 }
 else {
 parent = docLinks[i].parentNode;
 parent.style.display = "";
 }
   
    k++;
	}
  
	var m = 0;
	while(m < bl2.length && blmatch == 1) {
 var auth2 = docLinks[i].childNodes[1].title.toLowerCase();;
 var str2 = bl2[m];
 if (str2 && auth2.includes(str2)) {
   parent = docLinks[i].parentNode;
   parent.style.display = "none";
   blmatch = 0;
 }
 else {
 parent = docLinks[i].parentNode;
 parent.style.display = "";
 }
    m++;
	}
if (blmatch == 1 && docLinks[i].parentNode.className == "jv-nav-dropdown-item jv-nav-dropdown-unread") {
compteur++;
}
}


}, 200);
  }
}

(async function() {
  
bl1 = await GM.getValue('abl1','["leao","riyadmahrez"]');
bl2 = await GM.getValue('abl2','["vous 25€ par","discord des igoent"]');
bl1 = JSON.parse(bl1);
bl2 = JSON.parse(bl2);
bl1tags = bl1.join();
bl2tags = bl2.join();  
})();

window.onload = function() {
var mp = document.getElementsByClassName('jv-account-number-mp');
mp[0].click();
var mpbox = document.getElementsByClassName('jv-nav-dropdown-container')[1];
var mptriangle = document.getElementsByClassName('jv-nav-account jv-nav-account-mp dropdown open')[0];
  mptriangle.style.height = "36px";
mpbox.style.visibility = "hidden";
mp[0].click();

setTimeout(function(){
var harcelement = document.getElementsByClassName('jv-nav-harassment-warning')[0];
harcelement.innerHTML = "";
harcelement.style.height = "27px";
harcelement.style.padding = "1px";
  harcelement.style.textAlign = "center";
var node = document.createElement("input");
node.setAttribute("type", "button");
node.setAttribute("value", "Liste noire des pseudos");
node.setAttribute("style", "color:black;");
node.setAttribute("id", "editbl1");
harcelement.appendChild(node); 
var node2 = document.createElement("input");
node2.setAttribute("type", "button");
node2.setAttribute("value", "Liste noire des objets");
node2.setAttribute("style", "color:black;");
node2.setAttribute("id", "editbl2");
harcelement.appendChild(node2);
  
document.getElementById('editbl1').onclick = function() {editbl1();};
document.getElementById('editbl2').onclick = function() {editbl2();};

var docLinks = document.getElementsByClassName('jv-nav-dropdown-details');
var parent;
compteur = 0;
for(var i=0;i < docLinks.length; i++){
	var k = 0;
	var blmatch = 1;
	while(k < bl1.length && blmatch == 1) {
 var auth = docLinks[i].childNodes[0].innerHTML.toLowerCase();
 var str = bl1[k];
 if (str && auth.includes(str)) {
   parent = docLinks[i].parentNode;
   parent.style.display = "none";
//   docLinks[i].className = "spammeur";
   blmatch = 0;
 }
    k++;
	}
  
	var m = 0;
	while(m < bl2.length && blmatch == 1) {
 var auth2 = docLinks[i].childNodes[1].title.toLowerCase();;
 var str2 = bl2[m];
 if (str2 && auth2.includes(str2)) {
   parent = docLinks[i].parentNode;
   parent.style.display = "none";
//   docLinks[i].className = "spammeur";
   blmatch = 0;
 }
    m++;
	}
if (blmatch == 1 && docLinks[i].parentNode.className == "jv-nav-dropdown-item jv-nav-dropdown-unread") {
compteur++;
}
}


}, 500);
 setTimeout(function(){
   mpbox.style.visibility = "visible";
   mptriangle.style.height = ""; 
   document.getElementsByClassName('jv-account-number-mp')[0].onclick = function() {ctrcheck();};
   if (compteur > 0) {
   document.getElementsByClassName('jv-account-number-mp')[0].setAttribute('data-val', compteur);
   document.getElementsByClassName('jv-account-number-mp')[0].className = "jv-account-number-mp has-notif";
   }
 }, 1000);
};