Je suis curieux de voir les stats de vos comptes.
(async function main() {
let scriptStatus = "En cours d'exécution";
let scriptError = false;
let pageCount = 0;
let deletedStandardCount = 0;
let deletedGtaCount = 0;
let totalMessagesCount = 0;
const ui = document.createElement('div');
ui.style.position = 'fixed';
ui.style.bottom = '10px';
ui.style.right = '10px';
ui.style.padding = '15px';
ui.style.background = 'rgba(0, 0, 0, 0.8)';
ui.style.color = 'white';
ui.style.borderRadius = '10px';
ui.style.fontFamily = 'Arial, sans-serif';
ui.style.fontSize = '12px';
ui.style.boxShadow = '0px 0px 10px 5px rgba(0, 0, 0, 0.5)';
ui.style.zIndex = 9999;
document.body.appendChild(ui);
function updateUI() {
const deletedStandardPercentage = totalMessagesCount ? ((deletedStandardCount / totalMessagesCount) * 100).toFixed(2) : 0;
const deletedGtaPercentage = totalMessagesCount ? ((deletedGtaCount / totalMessagesCount) * 100).toFixed(2) : 0;
ui.innerHTML = `
<h4 style="margin: 0; font-size: 14px;">Calculagent <span style="font-size: 10px; color: #aaa;"></span></h4>
<p style="margin: 5px 0;">Ătat du script : <span style="color: ${scriptError ? 'red' : '#90EE90'};">${scriptStatus}</span></p>
<p style="margin: 5px 0;">Pages parcourues : ${pageCount}</p>
<p style="margin: 5px 0;">Messages analysés : ${totalMessagesCount}</p>
<p style="margin: 5px 0;">Messages supprimés (standard) : ${deletedStandardCount} (${deletedStandardPercentage}%)</p>
<p style="margin: 5px 0;">Messages supprimés (DDB) : ${deletedGtaCount} (${deletedGtaPercentage}%)</p>
`;
}
function jvCake(classe) {
const base16 = '0A12B34C56D78E9F';
let link = '';
const s = classe.split(' ')[1];
for (let i = 0; i < s.length; i += 2) {
link += String.fromCharCode(base16.indexOf(s.charAt(i)) * 16 + base16.indexOf(s.charAt(i + 1)));
}
return link;
}
async function analyzeMessages(doc) {
const messages = doc.querySelectorAll('.bloc-message-forum');
totalMessagesCount += messages.length;
for (const message of messages) {
if (message.classList.contains('msg-supprime')) {
deletedStandardCount++;
} else if (message.classList.contains('msg-supprime-gta')) {
deletedGtaCount++;
}
}
updateUI();
}
async function navigateToNextPage(url) {
try {
const response = await fetch(url);
if (response.status === 403) {
scriptError = true;
scriptStatus = "Erreur (403)";
updateUI();
throw new Error('Erreur (403).');
}
if (response.status === 503) {
await new Promise(resolve => setTimeout(resolve, 1000));
return navigateToNextPage(url);
}
const text = await response.text();
pageCount++;
updateUI();
const doc = new DOMParser().parseFromString(text, 'text/html');
await analyzeMessages(doc);
let nextElement = doc.querySelector('.pagi-after .pagi-suivant-actif');
if (nextElement) {
let nextUrl = nextElement.getAttribute('href');
if (nextElement.classList.contains('JvCare')) {
nextUrl = jvCake(nextElement.className);
}
await navigateToNextPage(nextUrl);
} else {
scriptStatus = "Terminé";
updateUI();
}
} catch (err) {
scriptError = true;
scriptStatus = "Erreur";
updateUI();
console.error('Ăchec dĂ©finitif du chargement de la prochaine page.');
}
}
const currentUrl = window.location.href;
await navigateToNextPage(currentUrl);
})();
Collez ceci dans votre historique de messages dans la console, ça va parcourir vos messages et sortir combien de messages ont été supprimés.
Pour infos :
Messages supprimĂ©s (standard) c'est les messages bleus, donc soit la modĂ©ration, soit vous-mĂȘme ou l'auteur d'un topic.
Messages supprimés (DDB) c'est les messages qui ont sauté à cause d'une sanction (directe ou topic qui saute et votre message y était) par l'outil GTA, les DDB donc.
JvArchive compagnon