Start switching chat flood system
This commit is contained in:
parent
21bb2b9a4e
commit
ee9b19b0ff
8 changed files with 108 additions and 4 deletions
|
|
@ -127,6 +127,43 @@ Callbacks = {
|
|||
scrollChat();
|
||||
},
|
||||
|
||||
chatCooldown: function (time) {
|
||||
time = time + 200;
|
||||
/*
|
||||
var msg = $("#chat-cooldown-msg");
|
||||
if (msg.length > 0) {
|
||||
var timer = msg.data("timer");
|
||||
if (timer) {
|
||||
clearTimeout(timer);
|
||||
}
|
||||
} else {
|
||||
msg = $("<div/>")
|
||||
.addClass("server-msg-disconnect")
|
||||
.attr("id", "chat-cooldown-msg")
|
||||
.text("Chat rate limit exceeded, please wait before sending another message")
|
||||
.appendTo($("#messagebuffer"));
|
||||
}
|
||||
if (SCROLLCHAT) {
|
||||
scrollChat();
|
||||
}
|
||||
*/
|
||||
$("#chatline").css("color", "#ff0000");
|
||||
if (CHATTHROTTLE && $("#chatline").data("throttle_timer")) {
|
||||
clearTimeout($("#chatline").data("throttle_timer"));
|
||||
}
|
||||
CHATTHROTTLE = true;
|
||||
$("#chatline").data("throttle_timer", setTimeout(function () {
|
||||
CHATTHROTTLE = false;
|
||||
$("#chatline").css("color", "");
|
||||
/*
|
||||
msg.remove();
|
||||
if (SCROLLCHAT) {
|
||||
scrollChat();
|
||||
}
|
||||
*/
|
||||
}, time));
|
||||
},
|
||||
|
||||
channelNotRegistered: function() {
|
||||
var div = $("<div/>").addClass("alert alert-info")
|
||||
.attr("id", "chregnotice")
|
||||
|
|
|
|||
|
|
@ -67,6 +67,10 @@
|
|||
else {
|
||||
len = parseInt(hms[0]);
|
||||
}
|
||||
var sus = parseFloat($("#opt_chat_antiflood_sustained").val()) || 0;
|
||||
if (sus <= 0) {
|
||||
sus = 1;
|
||||
}
|
||||
socket.emit("setOptions", {
|
||||
allow_voteskip: $("#opt_allow_voteskip").prop("checked"),
|
||||
voteskip_ratio: parseFloat($("#opt_voteskip_ratio").val()),
|
||||
|
|
@ -75,6 +79,11 @@
|
|||
externalcss: $("#opt_externalcss").val(),
|
||||
externaljs: $("#opt_externaljs").val(),
|
||||
chat_antiflood: $("#opt_chat_antiflood").prop("checked"),
|
||||
chat_antiflood_params: {
|
||||
burst: $("#opt_chat_antiflood_burst").val(),
|
||||
sustained: $("#opt_chat_antiflood_sustained").val(),
|
||||
cooldown: $("#opt_chat_antiflood_cooldown").val()
|
||||
},
|
||||
show_public: $("#opt_show_public").prop("checked"),
|
||||
enable_link_regex: $("#opt_enable_link_regex").prop("checked"),
|
||||
afk_timeout: parseInt($("#opt_afktimeout").val())
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ var socket = {
|
|||
var IGNORED = [];
|
||||
var CHATHIST = [];
|
||||
var CHATHISTIDX = 0;
|
||||
var CHATTHROTTLE = false;
|
||||
var SCROLLCHAT = true;
|
||||
var LASTCHATNAME = "";
|
||||
var LASTCHATTIME = 0;
|
||||
|
|
|
|||
|
|
@ -148,6 +148,9 @@ $("#messagebuffer").mouseleave(function() { SCROLLCHAT = true; });
|
|||
|
||||
$("#chatline").keydown(function(ev) {
|
||||
if(ev.keyCode == 13) {
|
||||
if (CHATTHROTTLE) {
|
||||
return;
|
||||
}
|
||||
var msg = $("#chatline").val();
|
||||
if(msg.trim()) {
|
||||
var meta = {};
|
||||
|
|
|
|||
|
|
@ -1010,6 +1010,9 @@ function handleModPermissions() {
|
|||
$("#opt_externaljs").val(CHANNEL.opts.externaljs);
|
||||
$("#opt_externaljs").attr("disabled", CLIENT.rank < 3);
|
||||
$("#opt_chat_antiflood").prop("checked", CHANNEL.opts.chat_antiflood);
|
||||
$("#opt_chat_antiflood_burst").val(CHANNEL.opts.chat_antiflood_params.burst);
|
||||
$("#opt_chat_antiflood_sustained").val(CHANNEL.opts.chat_antiflood_params.sustained);
|
||||
$("#opt_chat_antiflood_cooldown").val(CHANNEL.opts.chat_antiflood_params.cooldown);
|
||||
$("#opt_show_public").prop("checked", CHANNEL.opts.show_public);
|
||||
$("#opt_show_public").attr("disabled", CLIENT.rank < 3);
|
||||
$("#opt_enable_link_regex").prop("checked", CHANNEL.opts.enable_link_regex);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue