CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Script ANTI-SPAM V2

AlectronaMVC
AlectronaMVC
Niveau 9
25 août 2020 à 03:03:12

Le 25 août 2020 à 03:02:18 SilverStallone a écrit :

Le 25 août 2020 à 03:01:01 AlectronaMVC a écrit :

Le 25 août 2020 à 02:54:34 stabiloorange a écrit :

Le 25 août 2020 à 01:54:02 AlectronaMVC a écrit :

Le 24 août 2020 à 22:21:13 GuerrierGentil a écrit :

> Le 24 août 2020 à 17:41:40 stabiloorange a écrit :

>le script de l'op mérite la palme du pire script du monde :rire:

Il est bien son script https://image.noelshack.com/fichiers/2018/29/6/1532128784-risitas33.png
Pas sympa :(

C'est un secondaire de DryStyleJap :hap:

son script a foutu tous mes mp dans les spams

Est-ce que par hasard tu as une virgule à la fin de tes mots-clés ? :hap:

genre mot1,mot2,mot3,

Si oui c'est normal alors, le script considère ça comme un mot-clé vide qu'il trouve partout :hap:

J'ai une virgule à la toute fin des listes et ça ne fout pas tous mes mp en spam :doute:

screen

après ça dépend peut-être des navigateurs, peut-être que certains navigateurs considèrent que le mot-clé vide n'est pas contenu partout

Message édité le 25 août 2020 à 03:04:39 par AlectronaMVC
SilverStallone
SilverStallone
Niveau 12
25 août 2020 à 03:07:20

https://image.noelshack.com/fichiers/2020/35/2/1598317623-capture.png sous Firefox

J'ai du mettre du blanc en bas car noelshack accepte pas les images trop fines wtf :rire:

Message édité le 25 août 2020 à 03:07:32 par SilverStallone
GuerrierGentil
GuerrierGentil
Niveau 9
25 août 2020 à 03:09:46

Bon en fait la liste noire des contenus ne fonctionne pas du tout de mon côté, j'ai mis leur discord dans la liste mais ça fonctionne pas :( https://image.noelshack.com/fichiers/2020/35/2/1598317766-image.png

SilverStallone
SilverStallone
Niveau 12
25 août 2020 à 03:11:13

Le 25 août 2020 à 03:09:46 GuerrierGentil a écrit :
Bon en fait la liste noire des contenus ne fonctionne pas du tout de mon côté, j'ai mis leur discord dans la liste mais ça fonctionne pas :( https://image.noelshack.com/fichiers/2020/35/2/1598317766-image.png

Assure-toi que si tu fais ctrl + f dans le message, ça trouve bien le même contenu ils essaient de jouer sur les i / L etc.

Le script marche bizarrement, je dois actualiser plusieurs fois perso et surtout le filtre du contenu marche pas très efficacement c'est incompréhensible. J'ai pas l'impression qu'il marche avec les caractères spéciaux (drystyle s'est mis à écrire son pseudo avec des caractères chelous non ASCII).

GuerrierGentil
GuerrierGentil
Niveau 9
25 août 2020 à 03:16:14

Le 25 août 2020 à 03:11:13 SilverStallone a écrit :

Le 25 août 2020 à 03:09:46 GuerrierGentil a écrit :
Bon en fait la liste noire des contenus ne fonctionne pas du tout de mon côté, j'ai mis leur discord dans la liste mais ça fonctionne pas :( https://image.noelshack.com/fichiers/2020/35/2/1598317766-image.png

Assure-toi que si tu fais ctrl + f dans le message, ça trouve bien le même contenu ils essaient de jouer sur les i / L etc.

Quand je fais ctrl+f ca le trouve bien :hap:

Le script marche bizarrement, je dois actualiser plusieurs fois perso et surtout le filtre du contenu marche pas très efficacement c'est incompréhensible. J'ai pas l'impression qu'il marche avec les caractères spéciaux (drystyle s'est mis à écrire son pseudo avec des caractères chelous non ASCII).

:rire:
De mon côté je vois pas de caractère non ASCII dans le lien discord :(

SilverStallone
SilverStallone
Niveau 12
25 août 2020 à 03:18:52

Le 25 août 2020 à 03:16:14 GuerrierGentil a écrit :

Le 25 août 2020 à 03:11:13 SilverStallone a écrit :

Le 25 août 2020 à 03:09:46 GuerrierGentil a écrit :
Bon en fait la liste noire des contenus ne fonctionne pas du tout de mon côté, j'ai mis leur discord dans la liste mais ça fonctionne pas :( https://image.noelshack.com/fichiers/2020/35/2/1598317766-image.png

Assure-toi que si tu fais ctrl + f dans le message, ça trouve bien le même contenu ils essaient de jouer sur les i / L etc.

Quand je fais ctrl+f ca le trouve bien :hap:

Le script marche bizarrement, je dois actualiser plusieurs fois perso et surtout le filtre du contenu marche pas très efficacement c'est incompréhensible. J'ai pas l'impression qu'il marche avec les caractères spéciaux (drystyle s'est mis à écrire son pseudo avec des caractères chelous non ASCII).

:rire:
De mon côté je vois pas de caractère non ASCII dans le lien discord :(

Ben déjà fais gaffe ils écrivent drystyiejap avec un i au lieu du L minuscule;

Et puis essaie de ctrl + F ça, tu verras que c'est pas de l'ASCII 𝐝𝐫𝐲𝐬𝐭𝐲𝐥𝐞𝐣𝐚𝐩

IGmasculinistes
IGmasculinistes
Niveau 8
25 août 2020 à 03:19:19

Ayaaaaaaaaaa cimer je connaissais pas l'existence de ce patch https://image.noelshack.com/fichiers/2016/49/1481201791-yaahshs.png
Ba*** bien ta mère maintenant fd* de kj

GuerrierGentil
GuerrierGentil
Niveau 9
25 août 2020 à 03:22:48

Le 25 août 2020 à 03:18:52 SilverStallone a écrit :

Le 25 août 2020 à 03:16:14 GuerrierGentil a écrit :

Le 25 août 2020 à 03:11:13 SilverStallone a écrit :

Le 25 août 2020 à 03:09:46 GuerrierGentil a écrit :
Bon en fait la liste noire des contenus ne fonctionne pas du tout de mon côté, j'ai mis leur discord dans la liste mais ça fonctionne pas :( https://image.noelshack.com/fichiers/2020/35/2/1598317766-image.png

Assure-toi que si tu fais ctrl + f dans le message, ça trouve bien le même contenu ils essaient de jouer sur les i / L etc.

Quand je fais ctrl+f ca le trouve bien :hap:

Le script marche bizarrement, je dois actualiser plusieurs fois perso et surtout le filtre du contenu marche pas très efficacement c'est incompréhensible. J'ai pas l'impression qu'il marche avec les caractères spéciaux (drystyle s'est mis à écrire son pseudo avec des caractères chelous non ASCII).

:rire:
De mon côté je vois pas de caractère non ASCII dans le lien discord :(

Ben déjà fais gaffe ils écrivent drystyiejap avec un i au lieu du L minuscule;

Et puis essaie de ctrl + F ça, tu verras que c'est pas de l'ASCII 𝐝𝐫𝐲𝐬𝐭𝐲𝐥𝐞𝐣𝐚𝐩

Non mais moi je mets pas 𝐝𝐫𝐲𝐬𝐭𝐲𝐥𝐞𝐣𝐚𝐩, je mets direct le lien discord comme montré dans le screen :(
C'est censé marcher non?

SilverStallone
SilverStallone
Niveau 12
25 août 2020 à 03:23:33

Le 25 août 2020 à 03:22:48 GuerrierGentil a écrit :

Le 25 août 2020 à 03:18:52 SilverStallone a écrit :

Le 25 août 2020 à 03:16:14 GuerrierGentil a écrit :

Le 25 août 2020 à 03:11:13 SilverStallone a écrit :

Le 25 août 2020 à 03:09:46 GuerrierGentil a écrit :
Bon en fait la liste noire des contenus ne fonctionne pas du tout de mon côté, j'ai mis leur discord dans la liste mais ça fonctionne pas :( https://image.noelshack.com/fichiers/2020/35/2/1598317766-image.png

Assure-toi que si tu fais ctrl + f dans le message, ça trouve bien le même contenu ils essaient de jouer sur les i / L etc.

Quand je fais ctrl+f ca le trouve bien :hap:

Le script marche bizarrement, je dois actualiser plusieurs fois perso et surtout le filtre du contenu marche pas très efficacement c'est incompréhensible. J'ai pas l'impression qu'il marche avec les caractères spéciaux (drystyle s'est mis à écrire son pseudo avec des caractères chelous non ASCII).

:rire:
De mon côté je vois pas de caractère non ASCII dans le lien discord :(

Ben déjà fais gaffe ils écrivent drystyiejap avec un i au lieu du L minuscule;

Et puis essaie de ctrl + F ça, tu verras que c'est pas de l'ASCII 𝐝𝐫𝐲𝐬𝐭𝐲𝐥𝐞𝐣𝐚𝐩

Non mais moi je mets pas 𝐝𝐫𝐲𝐬𝐭𝐲𝐥𝐞𝐣𝐚𝐩, je mets direct le lien discord comme montré dans le screen :(
C'est censé marcher non?

Ouais en effet, je prévenais juste qu'ils ont d'autres trucs + ils changent le lien :hap:

AlectronaMVC
AlectronaMVC
Niveau 9
25 août 2020 à 18:22:41

sinon vous mettez discord.gg,bit.ly et vous serez tranquilles

Sakuta1
Sakuta1
Niveau 10
25 août 2020 à 19:07:28

en gros ça fait quoi ? :(

ça cache les mp qu'on reçoit ? mais le mec peut nous en envoyer ? :(

Arkenciel2014
Arkenciel2014
Niveau 19
25 août 2020 à 19:09:43

Ça met en dossier spam automatiquement. :hap:

RoyalMorangis28
RoyalMorangis28
Niveau 10
25 août 2020 à 20:26:05

Le 24 août 2020 à 06:31:20 AlectronaMVC a écrit :

Le 23 août 2020 à 17:51:48 Royalmorangis28 a écrit :
Le bouton pour afficher la liste noire des contenus ne s'affiche pas chez moi :(
https://image.noelshack.com/fichiers/2020/34/7/1598197900-capture-du-2020-08-23-17-51-31.png

Le script est bien à jour et je vois bien que le bouton est censé être là dans le code source dans tampermonkey

Je suis sous Chrome Version 84.0.4147.135 (Build officiel) (64 bits) sur LinuxMint 19

tu peux copie/coller le code source ?

Dernière mise à jour Sun Aug 23 2020 17:47:54 GMT+0200 (heure d’été d’Europe centrale)

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

var bl1 = [];
var bl2 = [];
var bl3 = [];
var bl1tags;
var bl2tags;
var bl3tags;
var nbrep;
var nbrepattendues;

document.getElementsByClassName('jv-account-number-mp')[0].className = "jv-account-number-mp";

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);

var node3 = document.createElement("input");
node3.setAttribute("type", "button");
node3.setAttribute("value", "Liste noire des contenus");
node3.setAttribute("style", "color:black;");
node3.setAttribute("id", "editbl3");
harcelement.appendChild(node3);
  
document.getElementById('editbl1').onclick = function() {editbl1();};
document.getElementById('editbl2').onclick = function() {editbl2();};
document.getElementById('editbl3').onclick = function() {editbl3();};
document.getElementsByClassName('jv-account-number-mp')[0].onclick = function() {ctrcheck();};

function ctrcheck() {

spamchecker(false);
document.getElementsByClassName('jv-account-number-mp')[0].setAttribute('data-val', 0);
document.getElementsByClassName('jv-account-number-mp')[0].className = "jv-account-number-mp";
var mpluhash = document.getElementsByClassName('jv-nav-dropdown-link account-mp-reset')[0].dataset.url;
$.get('https://www.jeuxvideo.com' + mpluhash);
  
setTimeout(function(){

var docLinks = document.getElementsByClassName('jv-nav-dropdown-details');
var parent;
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++;
	}
}
}, 500);
}

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));
    
    var docLinks = document.getElementsByClassName('jv-nav-dropdown-details');
var parent;
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(docLinks[i].parentNode.style.display == "none" && blmatch == 1) {
  		docLinks[i].parentNode.style.display = "";
  }
}
  }
}

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));
    
    var docLinks = document.getElementsByClassName('jv-nav-dropdown-details');
var parent;
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(docLinks[i].parentNode.style.display == "none" && blmatch == 1) {
  		docLinks[i].parentNode.style.display = "";
  }
}
  }
}

function editbl3() {
  var newbl3 = prompt("------------------------ Saisissez les patterns de CONTENUS DE MP à blacklister, séparés d'une virgule. (Insensible à la casse) ------------------------", bl3tags);
  if (newbl3 != null) {
    newbl3 = newbl3.toLowerCase();
    bl3tags = newbl3;
    bl3 = newbl3.split(',');
    GM.setValue("abl3", JSON.stringify(bl3));
  }
}

function spamchecker(rcpt) {
var cpt = 0;
$.get('https://www.jeuxvideo.com/messages-prives/boite-reception.php', function (data) {
    var nonlu = {};
    var cptarti = {};
    var container = document.implementation.createHTMLDocument().documentElement;
    container.innerHTML = data;
    var mpssss = container.getElementsByClassName('row-mp');
    var spamsatuer = [];
    var spamsatuer2 = [];
    for (var i = 1; i < mpssss.length; i++) {
    	var mprchilds = mpssss[i].children;
      var pseudo = mprchilds[0].firstChild.firstChild.innerHTML.toLowerCase();
      var objet = mprchilds[1].firstChild.innerHTML.toLowerCase();
      var lien = mprchilds[1].firstChild.href; // ajouter "https://www.jeuxvideo.com" au début
  	  var id = mprchilds[3].firstChild.value;
        nonlu[id] = (mpssss[i].className == "row-mp");
        cptarti[id] = false;
			var k = 0;
      var m = 0
			var blmatch = false;
			while(k < bl1.length && blmatch == false) {
 				var str = bl1[k];
 				if (str && pseudo.includes(str)) {
					spamsatuer.push(id);
			  	blmatch = true;
 				}
    		k++;
			}
      while(m < bl2.length && blmatch == false) {
 				var str2 = bl2[m];
 				if (str2 && objet.includes(str2)) {
					spamsatuer.push(id);
          blmatch = true;
 				}

    		m++;
			}
      if (blmatch == false && mpssss[i].className == "row-mp") {
      cpt++;
      cptarti[id] = true;
      nonlu[id] = false; //pas très propre mais ça évite de recompter le mp une seconde fois pour le compteur de mp non lu

      }

   	}

    var u = 1;
    while (u < mpssss.length) {
      var mprchilds2 = mpssss[u].children;
      var lien2 = mprchilds2[1].firstChild.href; // ajouter "https://www.jeuxvideo.com" au début
  	  var id2 = mprchilds2[3].firstChild.value;



        $.get('https://www.jeuxvideo.com' + lien2, function (dat) {

        var cont = document.implementation.createHTMLDocument().documentElement;
        cont.innerHTML = dat;
            var idz = cont.getElementsByClassName("btn btn-actualiser icon-spinner11")[0].href.slice(32, 40);
            var x = cont.getElementsByClassName("bloc-jvcode-msg hide")[0];
            var y = x.textContent.toLowerCase();

            var k = 0;
			var blmatch2 = false;
			while(k < bl3.length && blmatch2 == false) {
 				var str2 = bl3[k];

 				if (str2 && y.includes(str2)) {
					spamsatuer.push(idz);
                    blmatch2 = true;
                    if (cptarti[idz]) {
                        cpt--;
                    }
 				}

    		k++;
			}
            if (blmatch2 == false && nonlu[idz]) {
                cpt++;
            }


//alert("u : " + u + " mpsss.length : " + mpssss.length);
/*        if(u == (mpssss.length - 1)) {
            alert("voila");
                            var selector2 = container.querySelectorAll("#b-reception > form > input[type=hidden]");
        const randomKey2 = selector2[3].name;
        var obj2 = {
            fs_session: selector2[0].value,
            fs_timestamp: selector2[1].value,
            fs_version: selector2[2].value,
            "conv_select[]": [],
            conv_move: "666"
        };
        obj2[randomKey2] = selector2[3].value;
        spamsatuer2.forEach(e => {
            obj2["conv_select[]"].push(e)
        });
    		$.post("https://www.jeuxvideo.com/messages-prives/boite-reception.php", obj2);
//alert(2);
                    } */
        });
//        console.log("u : " + u + " mpsss : " + (mpssss.length - 1));
        u++;
    }


//      Promise.all(promises).then(values => console.log(values))

        var selector = container.querySelectorAll("#b-reception > form > input[type=hidden]");
        const randomKey = selector[3].name;
        var obj = {
            fs_session: selector[0].value,
            fs_timestamp: selector[1].value,
            fs_version: selector[2].value,
            "conv_select[]": [],
            conv_move: "666"
        };
        obj[randomKey] = selector[3].value;

    setTimeout(function(){
        spamsatuer.forEach(e => {
            obj["conv_select[]"].push(e)
        });
    		$.post("https://www.jeuxvideo.com/messages-prives/boite-reception.php", obj);

          			if (rcpt == true) {
        document.getElementsByClassName('jv-nav-dropdown-title')[0].innerHTML = "<img src='https://image.jeuxvideo.com/smileys_img/5.gif'> Patch anti-spam appliqué <img src='https://image.jeuxvideo.com/smileys_img/5.gif'>";

  			if (cpt > 0) {
          	document.getElementsByClassName('jv-account-number-mp')[0].setAttribute('data-val', cpt);
        		document.getElementsByClassName('jv-account-number-mp')[0].className = "jv-account-number-mp has-notif";
        }
        }

    }, 2000);
  // actualiser le compteur de MP
});
}
//ON ATTEND LE CHARGEMENT DES BLACKLISTS DE L'UTILISATEUR

(async function() {
  
bl1 = await GM.getValue('abl1','["leao","riyadmahrez"]');
bl2 = await GM.getValue('abl2','["vous 25€ par","discord des igoent"]');
bl3 = await GM.getValue('abl3','["drystylejap","https://discord.gg/MHdPC2m"]');
bl1 = JSON.parse(bl1);
bl2 = JSON.parse(bl2);
bl3 = JSON.parse(bl3);
bl1tags = bl1.join();
bl2tags = bl2.join();
bl3tags = bl3.join();
spamchecker(true);
})();
Message édité le 25 août 2020 à 20:26:31 par RoyalMorangis28
ThickTrap
ThickTrap
Niveau 10
25 août 2020 à 20:39:43

Script installé, dans le blocage des contenus je conseille de remplacer le lien discord spécifique par n'importe quel lien discord.

ça a l'air de marcher pour le moment

AlectronaMVC
AlectronaMVC
Niveau 9
25 août 2020 à 23:26:17

Le 25 août 2020 à 20:26:05 royalmorangis28 a écrit :

Le 24 août 2020 à 06:31:20 AlectronaMVC a écrit :

Le 23 août 2020 à 17:51:48 Royalmorangis28 a écrit :
Le bouton pour afficher la liste noire des contenus ne s'affiche pas chez moi :(
https://image.noelshack.com/fichiers/2020/34/7/1598197900-capture-du-2020-08-23-17-51-31.png

Le script est bien à jour et je vois bien que le bouton est censé être là dans le code source dans tampermonkey

Je suis sous Chrome Version 84.0.4147.135 (Build officiel) (64 bits) sur LinuxMint 19

tu peux copie/coller le code source ?

Dernière mise à jour Sun Aug 23 2020 17:47:54 GMT+0200 (heure d’été d’Europe centrale)

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

var bl1 = [];
var bl2 = [];
var bl3 = [];
var bl1tags;
var bl2tags;
var bl3tags;
var nbrep;
var nbrepattendues;

document.getElementsByClassName('jv-account-number-mp')[0].className = "jv-account-number-mp";

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);

var node3 = document.createElement("input");
node3.setAttribute("type", "button");
node3.setAttribute("value", "Liste noire des contenus");
node3.setAttribute("style", "color:black;");
node3.setAttribute("id", "editbl3");
harcelement.appendChild(node3);
  
document.getElementById('editbl1').onclick = function() {editbl1();};
document.getElementById('editbl2').onclick = function() {editbl2();};
document.getElementById('editbl3').onclick = function() {editbl3();};
document.getElementsByClassName('jv-account-number-mp')[0].onclick = function() {ctrcheck();};

function ctrcheck() {

spamchecker(false);
document.getElementsByClassName('jv-account-number-mp')[0].setAttribute('data-val', 0);
document.getElementsByClassName('jv-account-number-mp')[0].className = "jv-account-number-mp";
var mpluhash = document.getElementsByClassName('jv-nav-dropdown-link account-mp-reset')[0].dataset.url;
$.get('https://www.jeuxvideo.com' + mpluhash);
  
setTimeout(function(){

var docLinks = document.getElementsByClassName('jv-nav-dropdown-details');
var parent;
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++;
	}
}
}, 500);
}

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));
    
    var docLinks = document.getElementsByClassName('jv-nav-dropdown-details');
var parent;
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(docLinks[i].parentNode.style.display == "none" && blmatch == 1) {
  		docLinks[i].parentNode.style.display = "";
  }
}
  }
}

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));
    
    var docLinks = document.getElementsByClassName('jv-nav-dropdown-details');
var parent;
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(docLinks[i].parentNode.style.display == "none" && blmatch == 1) {
  		docLinks[i].parentNode.style.display = "";
  }
}
  }
}

function editbl3() {
  var newbl3 = prompt("------------------------ Saisissez les patterns de CONTENUS DE MP à blacklister, séparés d'une virgule. (Insensible à la casse) ------------------------", bl3tags);
  if (newbl3 != null) {
    newbl3 = newbl3.toLowerCase();
    bl3tags = newbl3;
    bl3 = newbl3.split(',');
    GM.setValue("abl3", JSON.stringify(bl3));
  }
}

function spamchecker(rcpt) {
var cpt = 0;
$.get('https://www.jeuxvideo.com/messages-prives/boite-reception.php', function (data) {
    var nonlu = {};
    var cptarti = {};
    var container = document.implementation.createHTMLDocument().documentElement;
    container.innerHTML = data;
    var mpssss = container.getElementsByClassName('row-mp');
    var spamsatuer = [];
    var spamsatuer2 = [];
    for (var i = 1; i < mpssss.length; i++) {
    	var mprchilds = mpssss[i].children;
      var pseudo = mprchilds[0].firstChild.firstChild.innerHTML.toLowerCase();
      var objet = mprchilds[1].firstChild.innerHTML.toLowerCase();
      var lien = mprchilds[1].firstChild.href; // ajouter "https://www.jeuxvideo.com" au début
  	  var id = mprchilds[3].firstChild.value;
        nonlu[id] = (mpssss[i].className == "row-mp");
        cptarti[id] = false;
			var k = 0;
      var m = 0
			var blmatch = false;
			while(k < bl1.length && blmatch == false) {
 				var str = bl1[k];
 				if (str && pseudo.includes(str)) {
					spamsatuer.push(id);
			  	blmatch = true;
 				}
    		k++;
			}
      while(m < bl2.length && blmatch == false) {
 				var str2 = bl2[m];
 				if (str2 && objet.includes(str2)) {
					spamsatuer.push(id);
          blmatch = true;
 				}

    		m++;
			}
      if (blmatch == false && mpssss[i].className == "row-mp") {
      cpt++;
      cptarti[id] = true;
      nonlu[id] = false; //pas très propre mais ça évite de recompter le mp une seconde fois pour le compteur de mp non lu

      }

   	}

    var u = 1;
    while (u < mpssss.length) {
      var mprchilds2 = mpssss[u].children;
      var lien2 = mprchilds2[1].firstChild.href; // ajouter "https://www.jeuxvideo.com" au début
  	  var id2 = mprchilds2[3].firstChild.value;



        $.get('https://www.jeuxvideo.com' + lien2, function (dat) {

        var cont = document.implementation.createHTMLDocument().documentElement;
        cont.innerHTML = dat;
            var idz = cont.getElementsByClassName("btn btn-actualiser icon-spinner11")[0].href.slice(32, 40);
            var x = cont.getElementsByClassName("bloc-jvcode-msg hide")[0];
            var y = x.textContent.toLowerCase();

            var k = 0;
			var blmatch2 = false;
			while(k < bl3.length && blmatch2 == false) {
 				var str2 = bl3[k];

 				if (str2 && y.includes(str2)) {
					spamsatuer.push(idz);
                    blmatch2 = true;
                    if (cptarti[idz]) {
                        cpt--;
                    }
 				}

    		k++;
			}
            if (blmatch2 == false && nonlu[idz]) {
                cpt++;
            }


//alert("u : " + u + " mpsss.length : " + mpssss.length);
/*        if(u == (mpssss.length - 1)) {
            alert("voila");
                            var selector2 = container.querySelectorAll("#b-reception > form > input[type=hidden]");
        const randomKey2 = selector2[3].name;
        var obj2 = {
            fs_session: selector2[0].value,
            fs_timestamp: selector2[1].value,
            fs_version: selector2[2].value,
            "conv_select[]": [],
            conv_move: "666"
        };
        obj2[randomKey2] = selector2[3].value;
        spamsatuer2.forEach(e => {
            obj2["conv_select[]"].push(e)
        });
    		$.post("https://www.jeuxvideo.com/messages-prives/boite-reception.php", obj2);
//alert(2);
                    } */
        });
//        console.log("u : " + u + " mpsss : " + (mpssss.length - 1));
        u++;
    }


//      Promise.all(promises).then(values => console.log(values))

        var selector = container.querySelectorAll("#b-reception > form > input[type=hidden]");
        const randomKey = selector[3].name;
        var obj = {
            fs_session: selector[0].value,
            fs_timestamp: selector[1].value,
            fs_version: selector[2].value,
            "conv_select[]": [],
            conv_move: "666"
        };
        obj[randomKey] = selector[3].value;

    setTimeout(function(){
        spamsatuer.forEach(e => {
            obj["conv_select[]"].push(e)
        });
    		$.post("https://www.jeuxvideo.com/messages-prives/boite-reception.php", obj);

          			if (rcpt == true) {
        document.getElementsByClassName('jv-nav-dropdown-title')[0].innerHTML = "<img src='https://image.jeuxvideo.com/smileys_img/5.gif'> Patch anti-spam appliqué <img src='https://image.jeuxvideo.com/smileys_img/5.gif'>";

  			if (cpt > 0) {
          	document.getElementsByClassName('jv-account-number-mp')[0].setAttribute('data-val', cpt);
        		document.getElementsByClassName('jv-account-number-mp')[0].className = "jv-account-number-mp has-notif";
        }
        }

    }, 2000);
  // actualiser le compteur de MP
});
}
//ON ATTEND LE CHARGEMENT DES BLACKLISTS DE L'UTILISATEUR

(async function() {
  
bl1 = await GM.getValue('abl1','["leao","riyadmahrez"]');
bl2 = await GM.getValue('abl2','["vous 25€ par","discord des igoent"]');
bl3 = await GM.getValue('abl3','["drystylejap","https://discord.gg/MHdPC2m"]');
bl1 = JSON.parse(bl1);
bl2 = JSON.parse(bl2);
bl3 = JSON.parse(bl3);
bl1tags = bl1.join();
bl2tags = bl2.join();
bl3tags = bl3.join();
spamchecker(true);
})();

bizarre, peut-être à cause du cache, il se passe quoi si tu nettoie le cache et recharge la page ?

SilverStallone
SilverStallone
Niveau 12
25 août 2020 à 23:48:27

Pour le coup de la blacklist totale si jamais on met une virgule, j'ai mis un espace après la virgule chez moi et ça a effectivement blacklist tous mes messages :hap:

Arkenciel2014
Arkenciel2014
Niveau 19
29 août 2020 à 15:23:41

En fait, ça ne fonctionne pas et je suis déçu de ce script. :-(

AlectronaMVC
AlectronaMVC
Niveau 9
30 août 2020 à 10:21:24

Le 29 août 2020 à 15:23:41 Arkenciel2014 a écrit :
En fait, ça ne fonctionne pas et je suis déçu de ce script. :-(

Détaille stp :(

borntodie60
borntodie60
Niveau 5
01 septembre 2020 à 09:12:34

ça n'a rien à voir mais y'a moyen de faire un script qui cache les topics par auteur ?

un truc comme ça

si pseudo de l'auteur du topic contient MOT :d) cacher le topic

Aqaba-IX
Aqaba-IX
Niveau 10
03 septembre 2020 à 22:06:28

Le 01 septembre 2020 à 09:12:34 borntodie60 a écrit :
ça n'a rien à voir mais y'a moyen de faire un script qui cache les topics par auteur ?

un truc comme ça

si pseudo de l'auteur du topic contient MOT :d) cacher le topic

De mémoire oui il y en avait que j'ai vu trainer quelque part. Essaye d'aller voir sur le commu.

Sous forums
  • Religion
La vidéo du moment