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 mondeC'est un secondaire de DryStyleJap
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 ?
genre mot1,mot2,mot3,
Si oui c'est normal alors, le script considère ça comme un mot-clé vide qu'il trouve partout
J'ai une virgule à la toute fin des listes et ça ne fout pas tous mes mp en spam 
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 mondeC'est un secondaire de DryStyleJap
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 ?
genre mot1,mot2,mot3,
Si oui c'est normal alors, le script considère ça comme un mot-clé vide qu'il trouve partout
J'ai une virgule à la toute fin des listes et ça ne fout pas tous mes mp en spam
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
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![]()
![]()
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).
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![]()
![]()
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 
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).

De mon côté je vois pas de caractère non ASCII dans le lien discord 
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![]()
![]()
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
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).
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 𝐝𝐫𝐲𝐬𝐭𝐲𝐥𝐞𝐣𝐚𝐩
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![]()
![]()
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
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).
De mon côté je vois pas de caractère non ASCII dans le lien discordBen 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?
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![]()
![]()
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
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).
De mon côté je vois pas de caractère non ASCII dans le lien discordBen 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 
en gros ça fait quoi ? 
ça cache les mp qu'on reçoit ? mais le mec peut nous en envoyer ? 

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
![]()
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);
})();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
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
![]()
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 ?


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 
ç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
cacher le topic
Afficher uniquement les messages de l'auteur du topic