View difference between Paste ID: kHh4y9Kf and hZNjFfAj
SHOW: | | - or go back to the newest paste.
1
$('<link id="chanfavicon" href="https://implyingrigged.info/w/images/d/df/Vglg_icon.png" type="image/x-icon" rel="shortcut icon" />')
2
	  .appendTo("head");
3
$('.navbar-brand').attr('href','https://implyingrigged.info/wiki//vg/_League_X');
4
$('.navbar-brand').text('/vg/ League');	   
5-
$('head').append('<script type="text/javascript" src="https://raw.githubusercontent.com/zeratul0/cytube-nnd-chat/master/index.js">');
5+
$('head').append('<script type="text/javascript" src="https://implyingrigged.info/cytube/NND.js">');
6
$('head').append('<script type="text/javascript" src="https://pastebin.com/raw/BzF8r6Sg">');
7
//$('head').append('<script type="text/javascript" src="https://implyingrigged.info/cytube/anon.js">');
8
$('head').append('<script type="text/javascript" src="https://implyingrigged.info/cytube/emotememory.js">');
9
var vgleaguereply = "based";
10
$( document ).ready(function() {
11
	//Moving controls around
12
	$('#videowrap').append("<span id='vidchatcontrols' style='float:right'>");
13
	$('body').append('<span id="pnl_options" style="position:absolute;display:none;left:0;top:30px;padding-top:10px;width:100%;background:rgba(0,0,0,0.5);z-index:2;"></span>');
14
	$('#emotelistbtn').detach().prependTo('#vidchatcontrols');
15
	$('#teamcolor').parent().detach().prependTo('#vidchatcontrols');
16
	$('#rightcontrols').detach().appendTo('#pnl_options');
17
	$('#nav-collapsible ul:first-child').append('<li><a id="btn_playList" class="pointer">Playlist</a></li><li></li>');
18
	$('#playlistrow').detach().appendTo('#pnl_options');
19
	$('#newpollbtn').detach().prependTo('#vidchatcontrols');
20
	$('#leftcontrols').remove();
21
	$('#pollwrap').detach().appendTo('#videowrap');
22
	$('#btn_playList').click(function(){
23
		if ($('#pnl_options').css('display')=='none'){
24
			$('#pnl_options').slideDown();
25
		} else {
26
			$('#pnl_options').slideUp();
27
		}
28
	});
29
	$('#chatwrap').append('<div id="hoverText" style="padding:4px;border-radius:3px;position:absolute;z-index:2;background:black;right:340px"></div>');
30
	$('.dropdown-toggle').each(function(){
31
		if ($(this).text() == 'Account'){
32
			var name = $('#welcome').text().replace('Welcome, ', '');
33
			$('#welcome').text('Welcome, ');
34
			$('#welcome').append('<a class="dropdown-toggle" href="#" data-toggle="dropdown">' + name + ' <b class="caret"></b></a>'); 
35
			$('#welcome').addClass('dropdown');
36
			$(this).parent().find('.dropdown-menu').detach().appendTo('#welcome');
37
			$(this).parent().remove();
38
		} else if ($(this).text() == 'Layout'){
39
			$(this).html($(this).html().replace('Layout','️<b>⚙</b>'));
40
			$(this).parent().attr('ID','settingsMenu');
41
			$('#showchansettings').detach().appendTo('#settingsMenu .dropdown-menu').wrap('<li></li>');
42
			$('li a').each(function(){
43
				if($(this).text() == 'Options'){
44
					$(this).detach().appendTo('#settingsMenu .dropdown-menu').wrap('<li></li>');
45
				}
46
			});
47
		}
48
	});
49
	$('#nav-collapsible ul:first-child').append("<li class='dropdown'><a class='dropdown-toggle' href='#' data-toggle='dropdown' aria-expanded='false'>Match Schedule<b class='caret'></b></a><ul class='dropdown-menu' id='matchSchedule'><li>Times in UTC</li></ul></li>");
50
	for(var i = 1; i <= 24; i++){
51
		if (i == 1){
52
			$('#matchSchedule').append('<li id="day1"></li>');
53
		} else if (i == 9) {
54
			$('#matchSchedule').append('<li id="day2"></li>');
55
		} else if (i == 17){
56
			$('#matchSchedule').append('<li id="day3"></li>');
57
		}
58
		$('#matchSchedule').append('<li id="match' + i + '"></li>');
59
	}
60
	$('#matchSchedule').append("<li><a style='background:grey' href='https://implyingrigged.info/wiki//vg/_League_12'>Cup Page</a></li>");
61
	$('#nav-collapsible ul:first-child').append("<li class='dropdown'><a target='_blank' href='https://implyingrigged.info/vglgametips/'>Submit a Gametip</a></li>");
62
	$('#nav-collapsible ul:first-child').append('<li><a id="btn_autoreply" class="pointer">Turn on Autoreply</a></li>');
63
	$('#nav-collapsible ul:first-child').append('<li><a href="https://www.youtube.com/c/VGLVods?sub_confirmation=1" target="_blank">Get notifications when live</a></li>');
64
$('#btn_autoreply').detach().appendTo('#settingsMenu .dropdown-menu').wrap('<li></li>');
65
	
66
	$('#messagebuffer').on('mouseenter','.username',function(){
67
		//$(this).css('font-size','150%');
68
		var team = '/' + $(this).attr('class').replace('username','').replace(' team','') + '/';
69
		if (team != '//') {
70
			$('#hoverText').text(team);
71
			$('#hoverText').css('top',$(this).position().top - 6);
72
			$('#hoverText').css('padding','4px');
73
		}
74
	}).on('mouseleave','.username',function(){
75
		$('#hoverText').text('');
76
		$('#hoverText').css('padding','0');
77
	});
78
	
79
	$('#btn_autoreply').click(function(){
80
		if ($(this).text() == 'Turn on Autoreply'){
81
			$(this).text('Turn off Autoreply');
82
		} else {
83
			$(this).text('Turn on Autoreply');
84
		}
85
	});
86
	
87
	var previousMessage = "";
88
	var autoReplyCooldown = false;
89
	
90
	window.setInterval(function(){
91
		autoReplyCooldown	= false;
92
	}, 30000);
93
	
94
	//Overwriting the chat functions
95
	$('#chatline').off();
96
	$("#chatline").keydown(function(e) {
97
		if (13 != e.keyCode) {
98
			if (9 == e.keyCode) {
99
				try {
100
					chatTabComplete()
101
				} catch (e) {
102
					console.error(e)
103
				}
104
				return e.preventDefault(),
105
				!1
106
			}
107
			return 38 == e.keyCode ? (CHATHISTIDX == CHATHIST.length && CHATHIST.push($("#chatline").val()),
108
			0 < CHATHISTIDX && (CHATHISTIDX--,
109
			$("#chatline").val(CHATHIST[CHATHISTIDX])),
110
			e.preventDefault(),
111
			!1) : 40 == e.keyCode ? (CHATHISTIDX < CHATHIST.length - 1 && (CHATHISTIDX++,
112
			$("#chatline").val(CHATHIST[CHATHISTIDX])),
113
			e.preventDefault(),
114
			!1) : void 0
115
		}
116
		if (!CHATTHROTTLE) {
117
			var t = $("#chatline").val();
118
			if (t.trim() && $('#chatline').val().trim() != previousMessage) {
119
				var a = {};
120
				USEROPTS.adminhat && 255 <= CLIENT.rank ? t = "/a " + t : USEROPTS.modhat && CLIENT.rank >= Rank.Moderator && (a.modflair = CLIENT.rank),
121
				2 <= CLIENT.rank && 0 === t.indexOf("/m ") && (a.modflair = CLIENT.rank,
122
				t = t.substring(3));
123
				var o = t.replace(/\s/g, "");
124
				if (CLIENT.rank < 2){
125
					t = t.replace(':pic','');
126
				}
127
				if (/skettifactory/.test(o) && "skettifactory" !== CHANNEL.name.toLowerCase())
128
					return Callbacks.kick({
129
						reason: "spam detected (skettifactory)"
130
					}),
131
					void socket.disconnect();
132
				if (/synchtube\.ru/.test(o))
133
					return Callbacks.kick({
134
						reason: "spam detected (synchtube.ru)"
135
					}),
136
					void socket.disconnect();
137
				previousMessage = t.trim();
138
				if ($('#teamcolor').val()){
139
					t = t + ' -team' + $('#teamcolor').val() + '-';
140
					a.modflair = 'b';
141
				}
142
				var emotes = t.match(/(:[^:]+:)/g);
143
				//emoteMammory(emotes);
144
				socket.emit("chatMsg", {
145
					msg: t,
146
					meta: a
147
				}),
148
				CHATHIST.push($("#chatline").val()),
149
				CHATHISTIDX = CHATHIST.length,
150
				$("#chatline").val("")
151
			} else {
152
				$("#chatline").val("");
153
			}
154
		}
155
	});
156
	formatChatMessage = function(e, t) {
157
		if ((e.msg.toLowerCase().indexOf('vg league <span') > -1 || e.msg.toLowerCase() == 'vg league') && $('#btn_autoreply').text() == 'Turn off Autoreply' && autoReplyCooldown == false){
158
			t = vgleaguereply + " ";
159
			autoReplyCooldown = true;
160
			if ($('#teamcolor').val()){
161
				t = t + ' -team' + $('#teamcolor').val() + '-';
162
			}
163
			socket.emit("chatMsg", {
164
				msg: t,
165
				meta: {}
166
			});
167
		}
168
		e.meta && !e.msgclass || (e.meta = {
169
			addClass: e.msgclass,
170
			addClassToNameAndTimestamp: e.msgclass
171
		});
172
		var a = e.username === t.name;
173
		"server-whisper" === e.meta.addClass && (a = !0),
174
		e.msg.match(/^\s*<strong>\w+\s*:\s*<\/strong>\s*/) && (a = !1),
175
		e.meta.forceShowName && (a = !1),
176
		e.msg = stripImages(e.msg),
177
		e.msg = execEmotes(e.msg),
178
		t.name = e.username;
179
		var teamClass = e.msg.match(/(-team.+-)/gi);
180
		if (teamClass){
181
			teamClass = teamClass[0].replace(new RegExp('-','g'),'');
182
		} else {
183
			teamClass = '';
184
		}
185
		if ($('#btn_anon').hasClass('label-success')){
186
			teamClass += ' anon';
187
		}
188
		var n = $("<div/>");
189
		if ("drink" === e.meta.addClass && (n.addClass("drink"),
190
		e.meta.addClass = ""),
191
		USEROPTS.show_timestamps) {
192
			var s = $("<span/>").addClass("timestamp").appendTo(n)
193
			  , o = new Date(e.time).toTimeString().split(" ")[0];
194
			s.text("[" + o + "] "),
195
			e.meta.addClass && e.meta.addClassToNameAndTimestamp && s.addClass(e.meta.addClass)
196
		}
197
		var i = $("<span/>");
198
		a || i.appendTo(n),
199
		$("<strong/>").addClass("username " + teamClass).text(e.username + ": ").appendTo(i),
200
		e.meta.modflair && i.addClass(getNameColor(e.meta.modflair)),
201
		e.meta.addClass && e.meta.addClassToNameAndTimestamp && i.addClass(e.meta.addClass),
202
		e.meta.superadminflair && (i.addClass("label").addClass(e.meta.superadminflair.labelclass),
203
		$("<span/>").addClass(e.meta.superadminflair.icon).addClass("glyphicon").css("margin-right", "3px").prependTo(i));
204
		var r = $("<span/>").appendTo(n);
205
		return r[0].innerHTML = e.msg,
206
		e.meta.action && (i.remove(),
207
		r[0].innerHTML = e.username + " " + e.msg),
208
		e.meta.addClass && r.addClass(e.meta.addClass),
209
		e.meta.shadow && n.addClass("chat-shadow"),
210
		n
211
	}
212
});