Alectrona / Script Anti-Bot

// ==UserScript==
// @name        Script Anti-Bot
// @namespace   ScriptAntiBot
// @description Efface les messages des bots.
// @include     http://www.jeuxvideo.com/forums/*
// @include     https://www.jeuxvideo.com/forums/*
// @version     1
// @grant       GM_xmlhttpRequest
// @grant 		GM_setValue
// @grant 		GM_getValue
// @updateURL   https://openuserjs.org/meta/Alectrona/Script_Anti-Bot.meta.js
// @Author      Alectrona
// ==/UserScript==

document.getHTML= function(who, deep){
    if(!who || !who.tagName) return '';
    var txt, ax, el= document.createElement("div");
    el.appendChild(who.cloneNode(false));
    txt= el.innerHTML;
    if(deep){
        ax= txt.indexOf('>')+1;
        txt= txt.substring(0, ax)+who.innerHTML+ txt.substring(ax);
    }
    el= null;
    return txt;
}

function cleanmsg(mssg) {

if (document.getElementsByClassName("highlight")[0].innerHTML.indexOf(" - Page ") == -1) {

var pseudoop = document.getElementsByClassName("bloc-header")[0].getElementsByTagName("A")[0].innerHTML;

}
else {
var pseudoop = 0;
}

var m_imgs = mssg.getElementsByTagName("IMG");
var m_lien = mssg.getElementsByTagName("A");
var m_imgshack = mssg.getElementsByClassName("img-shack");
var m_ihtml = mssg.innerHTML;
var m_spoils = mssg.getElementsByClassName("bloc-spoil-jv");

  	for (k = 0; k < m_spoils.length; k++) {
    var spoil_contenu = mssg.getElementsByClassName("contenu-spoil")[k].innerHTML;
		var spoil_txt = document.getHTML(m_spoils[k], true);
		m_ihtml = m_ihtml.replace(spoil_txt, spoil_contenu);
	  }		
    for (h = 0; h < m_lien.length; h++) {
		var lien_href = m_lien[h].href;
		var lien_txt = document.getHTML(m_lien[h], true);
		var m_ihtml = m_ihtml.replace(lien_txt, lien_href);
	}

	for (j = 0; j < m_imgs.length; j++) {
		var img_src = m_imgs[j].alt;
		var img_txt = document.getHTML(m_imgs[j], true);
	
		m_ihtml = m_ihtml.replace(img_txt, img_src);
	}
  
m_ihtml = m_ihtml.replace(/<p>/g, " ").replace(/<\/p>/g, "").replace(/<strong>/g, "").replace(/<\/strong>/g, "").replace(/<u>/g, "").replace(/<\/u>/g, "").replace(/<s>/g, "").replace(/<\/s>/g, "").replace(/<em>/g, "").replace(/<\/em>/g, "");
m_ihtml = m_ihtml.replace(/<ul class=\"liste\-default\-jv\">/g, " ").replace(/<li>/g, " ").replace(/<\/li>/g, "").replace(/<\/ul>/g, "").replace(/<ol class=\"liste\-default\-jv\">/g, " ").replace(/<\/ol>/g, "").replace(/<\/ol>/g, "");
m_ihtml = m_ihtml.replace(/<pre class=\"pre\-jv\">/g, "").replace(/<code class=\"code\-jv\">/g, " ").replace(/<\/code>/g, "").replace(/<\/pre>/g, "");
m_ihtml = m_ihtml.replace(/<spoil>/g, "").replace(/<\/spoil>/g, "").replace(/<blockquote class=\"blockquote\-jv\">/g, "").replace(/<br>/g, "").replace(/<\/blockquote>/g, "");
m_ihtml = m_ihtml.trim();
m_ihtml = m_ihtml.replace(/\s+/g, " ");

  
var words = m_ihtml.split(" ");
words.forEach(function(element) {

	if (element == pseudoop && pseudoop != 0 ) {
	m_ihtml = m_ihtml.replace(element, "<p>pseudoauteur</p>");
	m_ihtml = m_ihtml.trim();
	m_ihtml = m_ihtml.replace(/\s+/g, " ");
	}
  else if (element == "\"" + pseudoop + "\"" && pseudoop != 0) {
	m_ihtml = m_ihtml.replace(element, "<p>pseudoauteur2</p>");
	m_ihtml = m_ihtml.trim();
	m_ihtml = m_ihtml.replace(/\s+/g, " ");  
  }
  else if (element == pseudoop + "," && pseudoop != 0) {
	m_ihtml = m_ihtml.replace(element, "<p>pseudoauteur3</p>");
	m_ihtml = m_ihtml.trim();
	m_ihtml = m_ihtml.replace(/\s+/g, " ");  
  }
  else if (element == pseudoop + "." && pseudoop != 0) {
	m_ihtml = m_ihtml.replace(element, "<p>pseudoauteur4</p>");
	m_ihtml = m_ihtml.trim();
	m_ihtml = m_ihtml.replace(/\s+/g, " ");  
  }
});
  
m_ihtml = m_ihtml.toLowerCase();
m_ihtml = m_ihtml.replace(/<p>pseudoauteur<\/p>/g, "PSEUDOAUTEUR");
m_ihtml = m_ihtml.replace(/<p>pseudoauteur2<\/p>/g, "\"PSEUDOAUTEUR\"");
m_ihtml = m_ihtml.replace(/<p>pseudoauteur3<\/p>/g, "PSEUDOAUTEUR,");
m_ihtml = m_ihtml.replace(/<p>pseudoauteur4<\/p>/g, "PSEUDOAUTEUR.");

return m_ihtml;
}

GM_xmlhttpRequest({
  method: "GET",
  url: "http://antibot.malecisgenre.fr/bl.php",
  onload: function(response) {
  GM_setValue("plutus", response.responseText);
  }
});
if (GM_getValue("plutus") && document.URL != "http://www.jeuxvideo.com/forums/0-51-0-1-0-1-0-blabla-18-25-ans.htm" && document.URL != "https://www.jeuxvideo.com/forums/0-51-0-1-0-1-0-blabla-18-25-ans.htm") {
  var obj = JSON.parse(GM_getValue("plutus"));
  var arr = Object.keys(obj).map(function(k) { return obj[k] });
	
	var messages = document.getElementsByClassName("txt-msg  text-enrichi-forum");
	
	var pseudos = document.getElementsByClassName("bloc-header");
	
	for (i = 0; i < pseudos.length; i++) {
	
	var pseudal = pseudos[i].getElementsByTagName("A")[0].innerHTML.toLowerCase().trim();
    
		if(arr[2].indexOf(pseudal) != -1)
		{
		

			document.getElementsByClassName("bloc-message-forum ")[i].style.display = "none";
		}
		else {
		
			for (v = 0; v < arr[3].length; v++) {
				
				if (pseudal.indexOf(arr[3][v]) != -1) {
				

					document.getElementsByClassName("bloc-message-forum ")[i].style.display = "none";
				
				}
				
			}
		
		}
		
		if (document.getElementsByClassName("bloc-message-forum ")[i].style.display != "none") {

			var msg = cleanmsg(messages[i]);
		   
			if (arr[0].indexOf(msg) != -1) {
		
				document.getElementsByClassName("bloc-message-forum ")[i].style.display = "none";
		
			}
			else {
		
				for (w = 0; w < arr[1].length; w++) {
				
					if (msg.indexOf(arr[1][w]) != -1) {
				
						document.getElementsByClassName("bloc-message-forum ")[i].style.display = "none";
				
					}
				
				}
		
			}
		
		}
	
		
	}

	}