¡Gracias por la respuesta! En realidad, lo resolví con otra solución, pero aprecio que ofrezcas la tuya, ya que parece un poco más limpia (en la mía tengo que acceder al nombre de la clase y mi método se siente un poco improvisado). Aquí está la estrategia que usé:
// También colorea los nombres en el chat en tiempo real
api.decorateChatMessage(function (messageContainer, chatChannel)
{
let colorized_groups = this.args?.message?.user?.colorized_groups;
if (colorized_groups == null)
return; // sin grupos, nada que hacer
const nameClass = "chat-message-info__username__name";
let elements = messageContainer.getElementsByClassName(nameClass);
if (elements.length == 0) // normal: este podría ser un segundo mensaje que no tiene el encabezado del nombre de usuario
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");
});
Supongo que con tu método, ¿también sigue pasando this.args.message.user?