Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Vie communautaire


Index du Forum » Vie communautaire » Personnaliser la shoutbox
Cakeisalie5 En ligne Ancien administrateur Points: 1949 Défis: 11 Message

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


Cakeisalie5 En ligne Ancien administrateur Points: 1949 Défis: 11 Message

Citer : Posté le 19/08/2024 13:25 | # | Fichier joint


(petit post pour héberger une image supplémentaire)
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Fcalva En ligne Membre Points: 553 Défis: 9 Message

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";


Pc master race - Apréciateur de Noctua moyen
Caltos : G35+EII, G90+E (briquée )
Cakeisalie5 En ligne Ancien administrateur Points: 1949 Défis: 11 Message

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 :

message["content"] = message["content"] + ' <img src="https://www.planet-casio.com/images/smileys/mrgreen.gif">';

Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 110 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd