Obrigado pela resposta! Na verdade, eu já tinha resolvido com outra solução, mas aprecio você oferecer a sua, pois parece um pouco mais limpa (na minha, tenho que acessar o nome da classe e meu método parece um pouco improvisado). Aqui está a estratégia que usei:
// Também colorir nomes no chat em tempo real
api.decorateChatMessage(function (messageContainer, chatChannel)
{
let colorized_groups = this.args?.message?.user?.colorized_groups;
if (colorized_groups == null)
return; // sem grupos, nada a fazer
const nameClass = "chat-message-info__username__name";
let elements = messageContainer.getElementsByClassName(nameClass);
if (elements.length == 0) // normal: esta pode ser uma segunda mensagem que não tem o cabeçalho do nome de usuário
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");
});
Eu presumo que com o seu método, ele também ainda passa o this.args.message.user?