Danke für die Antwort! Ich habe es tatsächlich mit einer anderen Lösung gelöst, aber ich schätze dein Angebot, da es etwas sauberer erscheint (bei meiner muss ich auf den Klassennamen zugreifen und meine Methode fühlt sich etwas hackelig an). Hier ist die Strategie, die ich verwendet habe:
// Auch Namen im Echtzeit-Chat einfärben
api.decorateChatMessage(function (messageContainer, chatChannel)
{
let colorized_groups = this.args?.message?.user?.colorized_groups;
if (colorized_groups == null)
return; // keine Gruppen, nichts zu tun
const nameClass = "chat-message-info__username__name";
let elements = messageContainer.getElementsByClassName(nameClass);
if (elements.length == 0) // normal: dies könnte eine zweite Nachricht sein, die nicht den Benutzernamen-Header hat
return;
let nameDiv = elements[0];
if (colorized_groups.indexOf("developer") > -1)
nameDiv.classList.add("developer");
else if (colorized_groups.indexOf("wip_researcher") > -1)
nameDiv.classList.add("wip_researcher");
else if (colorized_groups.indexOf("researcher") > -1)
nameDiv.classList.add("researcher");
});
Ich nehme an, mit deiner Methode wird auch immer noch this.args.message.user übergeben?