Personnaliser la shoutbox
Posté le 19/08/2024 13:23
Hey ! Une petite modif de la shoutbox est passée récemment, et elle permet du scripting en Javascript d'interagir avec chaque message pour le modifier ou le bloquer. Je fais ce topic comme tutoriel très très rapide pour utiliser cette feature.
Tout d'abord vous devez avoir quelque chose vous permettant d'utiliser des "userscripts", i.e. des scripts Javascript que vous ajoutez manuellement à une ou plusieurs pages. J'utilise
Tampermonkey personnellement. Ensuite, vous devrez avoir un script comme ceci :
// ==UserScript==
// @name Your script name here
// @namespace http://tampermonkey.net/
// @version 2024-08-14
// @description Modify Planète Casio's behaviour
// @author You
// @match https://www.planet-casio.com/Fr/shoutbox/*
// @match https://dev.planet-casio.com/Fr/shoutbox/*
// @icon https://www.planet-casio.com/assets/img/favicon.ico
// @grant none
// ==/UserScript==
(function() {
'use strict';
window.shoutboxFilterFunc = function (message) {
...
};
})();
L'idée de cette fonction
window.shoutboxFilterFunc est de pouvoir modifier le message, ou de le bloquer en renvoyant
true.
Vous pouvez voir le contenu de chaque message, y compris les champs avec lesquels vous pouvez interagir, en ajoutant un
console.log(message) dans la fonction, et en rechargeant la page. Ici, je vais détailler quelques use cases.
Bloquer des messages sous certaines conditions
Si vous ne voulez plus recevoir de messages de certaines personnes sur la shoutbox, vous pouvez filtrer les messages des-dits utilisateurs :
if (message["author"] == "abc" || message["author"] == "def")
return true;
Modifier l'apparence du pseudo de certaines personnes
Vous pouvez modifier l'apparence du pseudo de certaines personnes en modifiant
message["groupcss"], qui sera appliqué au pseudo dynamiquement. Par exemple, pour montrer Breizh comme un admin :
if (message["author"] == "Breizh_craft")
message["groupcss"] = "color: #ee0000;";
Un exemple de résultat :
Modifier les messages à la volée
Vous pouvez modifier
message["content"] à la volée pour changer le contenu des messages au format HTML. Un exemple simple pour rajouter
", tu vois." à la fin des messages :
if ("!.?".includes(message["content"].slice(-1)))
message["content"] = message["content"].slice(0, -1);
message["content"] = message["content"] + ", tu vois.";
Un exemple de résultat :
Fichier joint
Citer : Posté le 19/08/2024 13:25 | # | Fichier joint
(petit post pour héberger une image supplémentaire)
Mon blog ⋅ Mes autres projets
Citer : Posté le 19/08/2024 13:32 | #
if("!.?".includes(message["content"].slice(-1)))
message["content"] = message["content"].slice(0, -1);
message["content"] = message["content"] + " :E";
Caltos : G35+EII, G90+E (briquée )
Citer : Posté le 19/08/2024 13:36 | #
Attention, on édite les messages au format HTML, donc en réalité le code que tu cherches est le suivant :
Mon blog ⋅ Mes autres projets