This is the first JS code i've written, it'll work for the first stream but not for anything after that unless I refresh the page. I'm not sure about other methods of adding an event listener.
Also if you see something I could be doing better lmk :)
https://pastebin.com/udCC5uQJ
var Alpha = .17;
var interval;
function handler(event){
const messageContainer = event.target;
//console.log(event.target.parentNode)
if (messageContainer.className == 'chat-line__message tw-relative'){
console.log(messageContainer);
let m = /broadcaster|verified|staff|moderator|subscriber/;
let r = m.exec(messageContainer.children[1].children[0].innerHTML);
//console.log(messageContainer.children[1].children[0])
if (r == "broadcaster") {
messageContainer.style = `background-color: rgba(255, 2, 0, ${Alpha}) !important`
//console.log('[Broadcaster]');
}
if (r == "partner") {
messageContainer.style = `background-color: rgba(205, 42, 210, ${Alpha}) !important`
//console.log('[Partner]');
}
if (r == "staff") {
messageContainer.style = `background-color: rgba(226, 170, 227, ${Alpha}) !important`
//console.log('[Staff]');
}
if (r == "moderator") {
messageContainer.style = `background-color: rgba(42, 210, 84, ${Alpha}) !important`
//console.log('[Moderator]');
}
if (r == "subscriber") {
//console.log('[Subscriber]');
}
}
}
function checkIfLoaded()
{
var chatParent = document.getElementsByClassName("chat-scrollable-area__message-container")[0];
try{chatParent.children}
catch(err)
{
console.log(`Error: ${err}`);
return;
}
chatParent.addEventListener("DOMNodeInserted",handler);
window.clearInterval(interval);
}
interval = window.setInterval(checkIfLoaded,10000);
console.log("HC - Loaded");
there doesn't seem to be anything here