NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Picarto AdminHighlight // @namespace http://www.furaffinity.net/user/Maloo // @description Highlights anyone's messages in chat that has admin capabilities. Bugfix update 2020-04-03 // @include https://picarto.tv/* // @version 3.1 // @license MIT // @grant none // ==/UserScript== function addGlobalStyle(css) { try { var elmHead, elmStyle; while (document.getElementsByTagName('head')[0] === null) { /*var ms; ms = 10; ms += new Date().getTime(); while (new Date() < ms){}*/ } elmHead = document.getElementsByTagName('head')[0]; elmStyle = document.createElement('style'); elmStyle.type = 'text/css'; elmHead.appendChild(elmStyle); elmStyle.innerHTML = css; } catch (e) { if (!document.styleSheets.length) { document.createStyleSheet(); } document.styleSheets[0].cssText += css; } } addGlobalStyle(".modMsg, .streamerMsg {border-radius: 8px !important; padding: 2px !important;}" + ".modMsg .theMsg, .streamerMsg .theMsg {color: #FFFFFF !important;}" + ".modMsg {background: #5d85d0 !important;}" + //.msgModContent ".streamerMsg {background: #ca4b4b !important;"); //.msgAdminContent var tarEl = document.querySelector("#msgs"); var updateHighlights = function(mutList) { var atBottom = document.querySelector(".scrollwrapperchat").scrollTop - (document.querySelector(".scrollwrapperchat").scrollTopMax - 15); var count = 0; //console.log("atBottom: " + atBottom); mutList.forEach(function(mutati) { mutati.addedNodes.forEach(function(node) { if (node.querySelector("[title=\"Streamer\"]")) { node.querySelector(".msgContent:not(.modMsg):not(.streamerMsg)").classList.add("streamerMsg"); count++; } else if (node.querySelector("[title=\"Moderator\"]")) { node.querySelector(".msgContent:not(.modMsg):not(.streamerMsg)").classList.add("modMsg"); count++; } }); }); if ((atBottom > 0) && (count > 0)) { //console.log("I should be trying to scroll down now"); setTimeout(function(){ document.querySelector(".scrollwrapperchat").scrollTop = document.querySelector(".scrollwrapperchat").scrollTopMax; document.querySelector("#chatNewMessageNotification").click(); }, 250); } } var mutObserver = new MutationObserver(updateHighlights); mutObserver.observe(tarEl, {childList: true});