forked from mcgrogan91/TagProScripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
supportsite.user.js
82 lines (76 loc) · 4.7 KB
/
supportsite.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// ==UserScript==
// @name Support Site Helper
// @namespace http://www.reddit.com/u/bizkut
// @updateURL https://github.com/mcgrogan91/TagProScripts/raw/master/supportsite.user.js
// @version 1.0
// @description Adds Good Standing button for default Good Standing reply. Other button texts provided by Turtlemansam
// @author Bizkut
// @include http://support.koalabeast.com/*
// @grant GM_xmlhttpRequest
// ==/UserScript==
//NOTE, CHANGE THIS TO THE NAME YOU WANT DISPLAYED AT THE END OF SOME MESSAGES
//IF YOU DONT YOU WILL LOOK LIKE A JERK
var modName = "A TagPro Moderator";
//First commented out line is the template for adding more buttons.
var buttons = {
//'unique_value': ['Button Text', 'This text gets put into the text'],
'standing_message': ['Good Standing',"Hi Some Ball,\n\nYou're playing on a shared IP that has been banned. To bypass this, you need an account in good standing.\n\n**Good Standing Requirements:**\n\n - A registered account ✓\n - Minimum 5 hours playtime\n - Maximum of 2 reports in past 24 hours\n\n*Please let us know if you have any further questions or concerns.*\n\n\- "+modName],
'start_message': ['Start Format', "Hi Some Ball,\n\nMessage Here\n\n*Please let us know if you have any further questions or concerns.*\n\n\- "+modName],
'afk_message': ['AFK Too Much', "Hi Some Ball,\n\nYou were banned for receiving 8 reports within 24 hours. Most of these reports are for not moving for 30 seconds, and getting kicked by the AFK timer. Please try to stay active in-game, and click the exit button if you need to leave. Also, try not to switch tabs inbetween games, because you might end up in a game and not realize it!\n\n*Please let us know if you have any further questions or concerns.*\n\n\- "+modName],
'chat_message': ['Offensive Chat', "Hi Some Ball,\n\nYou were banned for your chat:\n\nChat Here!\n\n*Please let us know if you have any further questions or concerns.*\n\n\- "+modName],
'no_account_message': ['No Profile ID', "Hi Some Ball,\n\nCan you please tell us your account name or your profile ID? Without this we have no idea who you are.\n\nIf you don't have an account, the only way you can play on a banned IP is through an account in Good Standing.\n\n**Good Standing Requirements:**\n\n - A registered account\n - Minimum 5 hours playtime\n - Maximum of 2 reports in past 24 hours\n\n*Please let us know if you have any further questions or concerns.*\n\n\- "+modName]
};
function makeButtons(){
for (var key in buttons) {
if (buttons.hasOwnProperty(key)) {
if(!$("#"+key).length) {
var item = $('<button id='+key+' class="btn btn-primary pull-right">'+buttons[key][0]+'</button>');
item.on('click', function() {
$("#comment_text").val(buttons[this.id][1]);
$("#comment_preview").html(Autolinker.link(markdown.toHTML(buttons[this.id][1])))
});
$("#submit_comment").after(item);
}
}
}
}
setInterval(makeButtons,1000);
$(window).on('load hashchange', function(e){
findAppealAccount();
});
function findAppealAccount() {
if ($('div#main').length == 0) {
setTimeout(findAppealAccount, 400);
return;
}
var profileIDLink = $("a[href^='http://tagpro-origin.koalabeast.com/moderate/users/']");
if (window.location.hash.indexOf('/ticket/') > 0) {
if (profileIDLink.length > 0) {
var profileAddress = profileIDLink[0].href;
if (profileAddress.substring(profileAddress.lastIndexOf("/")+1).length > 0) {
GM_xmlhttpRequest({
method: "GET",
url: profileAddress,
onload: function(response) {
var response = $(response.response);
var reserved = response.find("label:contains('Reserved Name')").next().text();
var display = response.find("label:contains('Display Name')").next().text();
if (reserved || display) {
showNames(reserved, display);
}
}
});
}
}
}
}
function showNames(reserved, display) {
if (!reserved || reserved.length === 0) {
reserved = "<em>Could not find Reserved Name</em>";
}
if (!display || display.length === 0) {
display = "<em>Could not find Display Name</em>";
}
$("div#main>div>hr").before("<br/><span id='showing_display_name'><strong>Display Name</strong>: "+display+"</span>");
$("div#main>div>hr").before("<br/><span id='showing_reserved_name'><strong>Reserved Name</strong>: "+reserved+"</span>");
}