Permet, à l'aide de l'ID Risibank d'un sticker (gif compris) (exemple {23942p}) mis en signature, de personaliser son Avatar aux yeux des utilisateurs de ce script
当前为
// ==UserScript==
// @name Risibank Avatar
// @namespace http://tampermonkey.net/
// @version 2024-08-15
// @description Permet, à l'aide de l'ID Risibank d'un sticker (gif compris) (exemple {23942p}) mis en signature, de personaliser son Avatar aux yeux des utilisateurs de ce script
// @author Treflou
// @match https://www.jeuxvideo.com/forums/*
// @icon https://risibank.fr/logo.png
// @grant none
// ==/UserScript==
(function() {
'use strict';
window.addEventListener("load", (event) => {
let SignatureList = document.querySelectorAll("div.signature-msg.text-enrichi-forum") //Liste des signatures de la page
SignatureList.forEach(function(valeur){
let Signature = valeur.textContent; //Récupère le texte de la signature
let Tag = ""
if (Signature.indexOf("{") != -1) //Vérifie la présence d'un Tag débutant par {
{
let PremièreAccolade = Signature.indexOf("{")
let DeuxièmeAccolade = Signature.indexOf("}", PremièreAccolade + 1)
if (DeuxièmeAccolade != -1) //Vérifie la présence d'une seconde } (= fin du tag)
{
Tag = Signature.substring(PremièreAccolade + 1, DeuxièmeAccolade) //Scan les chiffres entre les {}
}
if (Tag.length < 10) //sécurité
{
let NewAvatarURL = tagToURL(Tag)
let Avatar = valeur.closest("div.conteneur-message").children[0].children[0].children[0] // Désolé pour cette ligne < = > a.xXx.bloc-avatar-msg > img
Avatar.setAttribute("src", NewAvatarURL)
Avatar.setAttribute("data-src", "") //Corrige le lazy load
}
}
})
});
function tagToURL(TagString) //Permet d'obtenir le lien de l'image desirée à partir de son tag
{
let Tag = TagString
let URL = "/full." //fin de l'URL avant format
let Format = Tag.slice(-1).toLowerCase(); //Dernier caractère ( p pour PNG, j pour JPEG, g pour GIF,s pour SVG, b pour BMP, t pour TIFF) -> ajoute le format de l'image en fin d'URL
switch (Format) {
case 'p':
URL = URL + "png";
break;
case 'j':
URL = URL + "jpeg";
break;
case 'g':
URL = URL + "gif";
break;
case 's':
URL = URL + "svg";
break;
case 'b':
URL = URL + "bpm";
break;
case 't':
URL = URL + "tiff";
break;
default:
URL = URL + "png";
}
let Length = Tag.length - 1
Tag = Tag.slice(0, Length) //enlève le dernier caractère du type de format
URL = Tag + URL
for (var k = 1; k < 4; k++) //Reproduit la génération des URL de Risibank en partant du Tag (De droite vers la gauche) /!\ Pourrait devenir obsolète si les URL Risibank venaient à changer de https://risibank.fr/cache/medias/0/2/239/23942/full.png à https://risibank.fr/cache/medias/0/0/2/239/23942/full.png
{
Length = Length - 2
if (Length > 0)
{
URL = Tag.slice(0,Length) +"/"+ URL
}
else{URL = "0/" + URL}
}
URL = "https://risibank.fr/cache/medias/" + URL //Début de l'URL
return URL;
}
})();