Salut les kheys, j'ai recherché plusieurs fois un script pour supprimer tous mes messages des forums mais parfois je mettais plusieurs heures à le trouver, ou alors il fonctionnait plus, y avait 10 versions différentes toutes plus ou moins bugguées, c'est donc pourquoi j'ai fait mon propre script de suppression et je me permets de le partager à la communauté.
Script accessible ici : https://github.com/Shinoos/Tool-to-delete-all-your-jeuxvideo.com-posts
Il sera mis à jour le plus possible si y a un problème quelconque dans le futur.
Si vous avez des questions/suggestions par rapport au script n'hésitez pas non plus.
Merci pour le partage. Ça peut être utile
Le script est safe.
Quelqu'un a testé ?
C'est quoi cette ligne dans ton code :
GetAllbitcoin to sukine account
?
Quelqu'un pourrait pas créer un script pour restituer ses messages
J'hésite a l'utiliser ça fait longtemps que j'ai pas nettoyé mes messages.
// ==UserScript==
// @name Respawn Message Delete
// @version 1.2
// @description Repaired
// @author Craftbukkit debug par ROMANCE_DAWN
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
// @match https://www.jeuxvideo.com/profil/*?mode=historique_forum*
// @grant none
// ==/UserScript==
var page;
var nMessageDelete;
var nMessageNonDelete;
var nMessage;
var dateArray = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"];
function videMp(nPage, data)
{
var ajaxHash = data.split('ajax_hash_moderation_forum" value="')[1].split('"')[0];
var tmpEnvoie = "";
var minDate = document.getElementById('mindate').value;
var maxDate = document.getElementById('maxdate').value;
minDate = new Date(minDate.split('/')[1]+"/"+minDate.split('/')[0]+"/"+minDate.split('/')[2]).getTime();
maxDate = new Date(maxDate.split('/')[1]+"/"+maxDate.split('/')[0]+"/"+maxDate.split('/')[2]).getTime();
for (var i = 0; i < data.split('<div class="bloc-header">').length-1; i++) {
var tmpTmp = data.split('class="bloc-message-forum-anchor">')[i+1];
if(tmpTmp.indexOf('msg-supprime') != "-1")
{
nMessageDelete++;
document.getElementsByClassName("bloc-historique-forum")[0].innerHTML = "<span id='papage'><b>Vidage Message :</b><br /> Message supprimé : "+nMessage+" <br /> Message déjà supprimé : "+nMessageDelete+" <br /> Message non supprimé : "+nMessageNonDelete+" <br /> Page n°"+nPage+"</span>";
}
else
{
var tmpIdMessage = tmpTmp.split('"bloc-message-forum mx-2 mx-lg-0 " data-id="')[1].split('"')[0];
var tmpDate = tmpTmp.split('<div class="bloc-date-msg">')[1].split('target="_blank">')[1].split(' à')[0];
var tmpMois = (dateArray.indexOf(tmpDate.split(' ')[1])+1 < 10) ? "0"+(dateArray.indexOf(tmpDate.split(' ')[1])+1) : (dateArray.indexOf(tmpDate.split(' ')[1])+1);
var tmpJour = tmpDate.split(' ')[0];
var tmpAn = tmpDate.split(' ')[2];
var totalDate = new Date(tmpMois+"/"+tmpJour+"/"+tmpAn).getTime();
if(totalDate >= minDate && totalDate <= maxDate)
{
nMessage++;
tmpEnvoie = "&tab_message[]="+tmpIdMessage;
$.get("https://www.jeuxvideo.com/forums/modal_del_message.php?type=delete&ajax_hash="+ajaxHash+""+tmpEnvoie, function(data){ document.getElementsByClassName("bloc-historique-forum")[0].innerHTML = "<span id='papage'><b>Vidage Message :</b><br /> Message supprimé : "+nMessage+" <br /> Message déjà supprimé : "+nMessageDelete+" <br /> Message non supprimé : "+nMessageNonDelete+" <br /> Page n°"+nPage+"</span>"; });
}
else
{
nMessageNonDelete++;
}
}
}
if(data.indexOf(' pagi-suivant-actif icon-next4">') != "-1")
{
var nextPage = jvCake(data.split('<div class="pagi-after"><span><span class="JvCare ')[1].split(' ')[0]);
nextPage = nextPage.replace("https://www.jeuxvideo.com/profil/https://www.jeuxvideo.com/profil/", "https://www.jeuxvideo.com/profil/");
nPage++;
console.log(nextPage);
if(data.indexOf(' pagi-suivant-actif icon-next4">') != "-1")
$.get(nextPage, function(data,succes){videMp(nPage, data); });
}
}
//Cimer kiwec pour le jvCake
function jvCake(className) {
var base16 = '0A12B34C56D78E9F';
var s = className;
var lien = '';
for (var i = 0; i < s.length; i += 2) {
lien += String.fromCharCode(base16.indexOf(s.charAt(i)) * 16 + base16.indexOf(s.charAt(i + 1)));
}
return lien;
}
function vider()
{
nMessage = 0;
nMessageDelete = 0;
nMessageNonDelete = 0;
var nPage = 1;
document.getElementsByClassName("bloc-historique-forum")[0].innerHTML = "<span id='displayy' style='display:none'></span><span id='papage'><b>Vidage Message :</b><br /> Message supprimé : 0 <br /> Message déjà supprimé : 0 <br /> Message non supprimé : 0 <br /> Page n°1</span>";
$.get(window.location.href, function(data,succes){videMp(nPage, data); });
}
page = window.location.href;
document.getElementsByClassName("titre-bloc")[0].innerHTML += '<br> -> Du : <input type="text" id="mindate" value="01/01/1970"> au <input type="text" id="maxdate" value="01/01/2100"> - <button class="btn icon-bin" title="Tout supprimer" id="viderAll">Vider</button>';
document.getElementById("viderAll").onclick = function(){ vider(); return false; };
// ==UserScript==
// @name Respawn Message Delete
// @version 1.2
// @description Repaired
// @author Craftbukkit debug par ROMANCE_DAWN
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
// @match https://www.jeuxvideo.com/profil/*?mode=historique_forum*
// @grant none
// ==/UserScript==
var page;
var nMessageDelete;
var nMessageNonDelete;
var nMessage;
var dateArray = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"];
function videMp(nPage, data)
{
var ajaxHash = data.split('ajax_hash_moderation_forum" value="')[1].split('"')[0];
var tmpEnvoie = "";
var minDate = document.getElementById('mindate').value;
var maxDate = document.getElementById('maxdate').value;
minDate = new Date(minDate.split('/')[1]+"/"+minDate.split('/')[0]+"/"+minDate.split('/')[2]).getTime();
maxDate = new Date(maxDate.split('/')[1]+"/"+maxDate.split('/')[0]+"/"+maxDate.split('/')[2]).getTime();
for (var i = 0; i < data.split('<div class="bloc-header">').length-1; i++) {
var tmpTmp = data.split('class="bloc-message-forum-anchor">')[i+1];
if(tmpTmp.indexOf('msg-supprime') != "-1")
{
nMessageDelete++;
document.getElementsByClassName("bloc-historique-forum")[0].innerHTML = "<span id='papage'><b>Vidage Message :</b><br /> Message supprimé : "+nMessage+" <br /> Message déjà supprimé : "+nMessageDelete+" <br /> Message non supprimé : "+nMessageNonDelete+" <br /> Page n°"+nPage+"</span>";
}
else
{
var tmpIdMessage = tmpTmp.split('"bloc-message-forum mx-2 mx-lg-0 " data-id="')[1].split('"')[0];
var tmpDate = tmpTmp.split('<div class="bloc-date-msg">')[1].split('target="_blank">')[1].split(' à')[0];
var tmpMois = (dateArray.indexOf(tmpDate.split(' ')[1])+1 < 10) ? "0"+(dateArray.indexOf(tmpDate.split(' ')[1])+1) : (dateArray.indexOf(tmpDate.split(' ')[1])+1);
var tmpJour = tmpDate.split(' ')[0];
var tmpAn = tmpDate.split(' ')[2];
var totalDate = new Date(tmpMois+"/"+tmpJour+"/"+tmpAn).getTime();
if(totalDate >= minDate && totalDate <= maxDate)
{
nMessage++;
tmpEnvoie = "&tab_message[]="+tmpIdMessage;
$.get("https://www.jeuxvideo.com/forums/modal_del_message.php?type=delete&ajax_hash="+ajaxHash+""+tmpEnvoie, function(data){ document.getElementsByClassName("bloc-historique-forum")[0].innerHTML = "<span id='papage'><b>Vidage Message :</b><br /> Message supprimé : "+nMessage+" <br /> Message déjà supprimé : "+nMessageDelete+" <br /> Message non supprimé : "+nMessageNonDelete+" <br /> Page n°"+nPage+"</span>"; });
}
else
{
nMessageNonDelete++;
}
}
}
if(data.indexOf(' pagi-suivant-actif icon-next4">') != "-1")
{
var nextPage = jvCake(data.split('<div class="pagi-after"><span><span class="JvCare ')[1].split(' ')[0]);
nextPage = nextPage.replace("https://www.jeuxvideo.com/profil/https://www.jeuxvideo.com/profil/", "https://www.jeuxvideo.com/profil/");
nPage++;
console.log(nextPage);
if(data.indexOf(' pagi-suivant-actif icon-next4">') != "-1")
$.get(nextPage, function(data,succes){videMp(nPage, data); });
}
}
//Cimer kiwec pour le jvCake
function jvCake(className) {
var base16 = '0A12B34C56D78E9F';
var s = className;
var lien = '';
for (var i = 0; i < s.length; i += 2) {
lien += String.fromCharCode(base16.indexOf(s.charAt(i)) * 16 + base16.indexOf(s.charAt(i + 1)));
}
return lien;
}
function vider()
{
nMessage = 0;
nMessageDelete = 0;
nMessageNonDelete = 0;
var nPage = 1;
document.getElementsByClassName("bloc-historique-forum")[0].innerHTML = "<span id='displayy' style='display:none'></span><span id='papage'><b>Vidage Message :</b><br /> Message supprimé : 0 <br /> Message déjà supprimé : 0 <br /> Message non supprimé : 0 <br /> Page n°1</span>";
$.get(window.location.href, function(data,succes){videMp(nPage, data); });
}
page = window.location.href;
document.getElementsByClassName("titre-bloc")[0].innerHTML += '<br> -> Du : <input type="text" id="mindate" value="01/01/1970"> au <input type="text" id="maxdate" value="01/01/2100"> - <button class="btn icon-bin" title="Tout supprimer" id="viderAll">Vider</button>';
document.getElementById("viderAll").onclick = function(){ vider(); return false; };
Le 14 novembre 2024 à 17:55:51 Alexjetable a écrit :
Pile ce qu'il me fallaitJ'ai une suggestion avancée : j'aime supprimer tous mes messages sauf certains topics. J'avais déjà fait un script qui gérait ça, ce qui compliquait beaucoup la chose car il fallait aller dans chaque lien permanent pour vérifier que chaque message n'appartenait pas à un topic whitelisté. Et j'ai jamais fait d'interface dédiée pour ça. Serais-tu assez zinzin pour implémenter ça ?
J'avoue c'est un peu relou à mettre en place et ça alourdit pas mal l'exécution du script et le nb de requêtes.
Mais pourquoi pas, cela dit je verrais plutôt un truc du style une question au lancement du script 'souhaitez vous supprimer également vos topics' et suivant la réponse tu ajustes.
Le 14 novembre 2024 à 19:14:56 Alexjetable a écrit :
Je me suis mal exprimé : je veux supprimer tous mes messages et topics, sauf ceux présents sur certains topics définis.Mais bon laisse tomber va, à moins que quelqu'un d'autre te demande.
Dans ce cas faudra que tu fasses un limiteur de requête, sinon le rate limit (qui est aux dernières nouvelles à 45 requêtes par minute, et les gens naviguent potentiellement en même temps qu'ils font tourner le script) va ralentir les requêtes de fou.
Ah d'accord, je pensais que tu voulais ne pas supprimer des topics mais tu parlais des messages à l'intérieur de certains topics précis.
Pour le limitateur de requêtes comme le site le fait déjà par lui-même, je ne pense pas que ce soit nécessaire de l'implanter, la suppression ne serait que plus lente dans tous les cas, après oui si tu navigues sur le forum en même temps ce sera laggy mais ça reste gérable.
Un peu inutile comme script à moins si c'est pour éviter les ddb...
Y'a le site d'archive qui enregistre quasiment tout vos post du 18-25
Ça me parait peu logique parce que si tu limites à 40r/m tu iras moins vite que la limite du site qui est de 45r/m.
Je ferai un test tout à l'heure pour voir lequel va le plus vite.
Le 14 novembre 2024 à 19:30:41 :
Un peu inutile comme script à moins si c'est pour éviter les ddb...Y'a le site d'archive qui enregistre quasiment tout vos post du 18-25
C'est vrai qu'il n'y a que le 18-25 sur le site. D'ailleurs nous sommes actuellement sur le 18-25.
Le 14 novembre 2024 à 19:52:20 :
C'est vrai qu'il n'y a que le 18-25 sur le site. D'ailleurs nous sommes actuellement sur le 18-25.
Ce n'est pas l'annexe des anciens du 103 ici
Le 14 novembre 2024 à 17:27:37 :
C'est quoi cette ligne dans ton code :
GetAllbitcoin to sukine account
?
Ouaip je confirme un peu bizarre cette ligne de code
Shuichi-A Le 14 novembre 2024 à 20:04:21 :
Le 14 novembre 2024 à 17:27:37 :
C'est quoi cette ligne dans ton code :
GetAllbitcoin to sukine account
?Ouaip je confirme un peu bizarre cette ligne de code
Y a pas cette ligne, c'est troll pour rigoler.
Shuichi-A Le 14 novembre 2024 à 20:20:40 :
Le 14 novembre 2024 à 20:13:04 :
Shuichi-A Le 14 novembre 2024 à 20:04:21 :
Ouaip je confirme un peu bizarre cette ligne de code
Y a pas cette ligne, c'est troll pour rigoler.
Ah moi je la vois
Perso je ne vois pas cette ligne sur son lien. Ou alors je ne suis pas au bon endroit.
Le 14 novembre 2024 à 19:31:42 Sukine a écrit :
Ça me parait peu logique parce que si tu limites à 40r/m tu iras moins vite que la limite du site qui est de 45r/m.Je ferai un test tout à l'heure pour voir lequel va le plus vite.
Analyse terminée en 7238.92 secondes. - 40r/m
Analyse terminée en 3758.84 secondes.
Comme prévu l'analyse sans limite de requêtes prend quasiment deux fois moins de temps. (no triche )
Le 14 novembre 2024 à 20:04:21 :
Le 14 novembre 2024 à 19:52:20 :
C'est vrai qu'il n'y a que le 18-25 sur le site. D'ailleurs nous sommes actuellement sur le 18-25.
Ce n'est pas l'annexe des anciens du 103 ici
Wut.
Le 14 novembre 2024 à 21:14:18 :
Shuichi-A Le 14 novembre 2024 à 20:20:40 :
Le 14 novembre 2024 à 20:13:04 :
Shuichi-A Le 14 novembre 2024 à 20:04:21 :
Ouaip je confirme un peu bizarre cette ligne de code
Y a pas cette ligne, c'est troll pour rigoler.
Ah moi je la vois
Perso je ne vois pas cette ligne sur son lien. Ou alors je ne suis pas au bon endroit.
J'ai mis à jour le script pour mieux gérer les erreurs potentielles, je n'ai plus de comptes pour tester donc j'espère que tout va bien fonctionner.