🏠 Home 

InscriptionDateMessageJVC

Ajoute la date de création du compte de l'auteur du message dans la signature du message.


Install this script?
// ==UserScript==
// @name         InscriptionDateMessageJVC
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Ajoute la date de création du compte de l'auteur du message dans la signature du message.
// @author       Mr_Satisfation
// @match        *://*.jeuxvideo.com/forums/42-*
// @icon         https://risibank.fr/cache/medias/0/1/136/13653/full.png
// @grant        none
// @license      MIT
// ==/UserScript==
const htmlParser = new DOMParser();
async function getDate(html) { // Retourne la date de création d'un compte à partir du html retourné par la requête vers la page de ce compte
const infoKeys = html.querySelectorAll('div.info-lib');
for (let key of infoKeys) {
if (key.textContent==='Membre depuis :') {
const inscriptionDate = key.parentNode.querySelector('div.info-value').textContent.split(' (')[0];
return inscriptionDate;
}
}
}
const pseudos = document.querySelectorAll('a.xXx.bloc-pseudo-msg.text-user'); // Liste des pseudos de la page
for (const pseudo of pseudos) {
const url = pseudo.getAttribute('href'); // On récupère l'URL de chaque pseudo
fetch(url).then(response => { return response.text(); }) // Requête vers l'URL
.then(async html => {
const DOM = htmlParser.parseFromString(html, 'text/html');
const inscriptionDate = await getDate(DOM); // On appelle la fonction getDate
if (inscriptionDate) {
let conteneurSignature = pseudo.parentNode.parentNode.querySelector('div.signature-msg.text-enrichi-forum') // Ajout et mise en page de l'information dans le cadre "Signature" du message
if (!conteneurSignature) {
const conteneurDate = document.createElement('div');
conteneurDate.setAttribute('class', 'signature-msg  text-enrichi-forum');
const textDate = document.createElement('p');
textDate.setAttribute('style', 'font-size:0.75rem; line-height:1rem;');
textDate.textContent = 'Membre depuis : ';
const textDateValue = document.createElement('strong');
textDateValue.textContent = inscriptionDate;
textDate.append(textDateValue);
conteneurDate.append(textDate);
pseudo.parentNode.parentNode.querySelector('div.bloc-contenu').append(conteneurDate);
}
else {
const textDate = document.createElement('p');
textDate.setAttribute('style', 'font-size:0.75rem; line-height:1rem;');
textDate.textContent = 'Membre depuis : ';
const textDateValue = document.createElement('strong');
textDateValue.textContent = inscriptionDate;
textDate.append(textDateValue);
conteneurSignature.append(textDate);
}
}
})
.catch(err => { console.error(err); alert('InscriptionDateMessageJVC: An error occured. Please refresh the page.'); }); // Si erreur pendant la requête
}