// ==UserScript==
// @name twitchPlaysDarkFilterChat
// @namespace twitchPlaysDarkFilterChat
// @include *.twitch.tv/twitchplaysdark
// @include *.twitch.tv/twitchplaysdark/chat?popout=
// @version 0.9
// @description A script to filter out the chat commands in Twitch Plays Dark Souls
// ==/UserScript==
//
var filterActive = false;
var toBeFiltered= [
"arl",
"ar",
"al",
"d",
"ard",
"aru",
"arr",
"m",
"f",
"b",
"l",
"r",
"e",
"rf",
"rb",
"rl",
"rr",
"u",
"g",
"a",
"du",
"dd",
"dl",
"dr",
"r1",
"r2",
"l1",
"l2",
"fl",
"bs",
"lr",
"democracy",
"demo",
"anarchy",
"autowalk",
"babysteps",
"nomenu",
"menubutton",
"banmenu",
"unbanmenu",
"banm",
"chaos",
"unbanm",
"auto-walk",
"auto"
];
var chatParent = document.getElementsByClassName("chat-lines")[0];
var interval;
function filterChat(event){
if(event.target.children == undefined)
{
return;
}
var message = event.target.children[0].children[5].innerHTML;
for(x=0;x<toBeFiltered.length;x++)
{
if(message.toUpperCase().replace(/\s+/g, '') === toBeFiltered[x].toUpperCase().replace(/\s+/g, '')){
chatParent.removeChild(event.target);
break;
}
}
}
function checkIfLoaded()
{
chatParent = document.getElementsByClassName("chat-lines")[0];
try{chatParent.children}
catch(err)
{
return;
}
chatParent.addEventListener("DOMNodeInserted",filterChat);
window.clearInterval(interval);
}
interval = window.setInterval(checkIfLoaded,20);