Twitch Russian Filter

Filter russian streams from games.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

You will need to install an extension such as Tampermonkey to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name         Twitch Russian Filter
// @namespace    https://github.com/d3xtr0/
// @version      0.3
// @description  Filter russian streams from games.
// @author       d3xtr0
// @match        *.twitch.tv/*
// @grant        none
// ==/UserScript==


(function() {
	'use strict';
	
	/*
	Tampermonkey: Go to settings > "Run only in main-frame": Yes
	*/
    
	// 0 => empty placeholder
	// 1 => no placeholder
	var toggleRemove = 0;
    
	// check every x ms for new streams
	var speed = 2000;
	
	// russian alphabet
	var keys = [
		"{ru", "[ru", "(ru", "ru]", "ru)", "ru}",
		"б", "в", "г", "д", "ж", "з", "и", "й", "п", "ф", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я"
	];
    
	$(function(){
		console.log("[Russian Filter] started");

		if(toggleRemove){
			$('head').append('<style>.tw-hidden{display:none;}</style>');
		}else{
			$('head').append('<style>.tw-hidden{visibility:hidden;}</style>');
		}

		var init = window.setInterval(function(){
		    	var content = $(".js-directory.tse-content .streams");
		    	var contheight =  content.height();

			if(content.length){
			    removeRus();
			}
		}, speed);

		function removeRus(){
			$(".stream.item").each(function(i){

				var meta = $(this).find(".meta").text().toLowerCase();

				for(var x = 0; x < keys.length; x++){
					if(meta.indexOf(keys[x]) >= 0) {
						$(this).addClass("tw-hidden");
						break;
					}
				}

			});
		}

	});
})();