Merge pull request #468 from calzoneman/chat-antiflood-limit

Update chat antiflood limit
This commit is contained in:
Calvin Montgomery 2015-04-28 13:05:33 -05:00
commit 7902f1c3c6
2 changed files with 18 additions and 8 deletions

View File

@ -22,10 +22,10 @@ const TYPE_PM = {
meta: "object,optional"
};
const DEFAULT_ANTIFLOOD = {
burst: 4,
sustained: 1,
cooldown: 4
// Limit to 10 messages/sec
const MIN_ANTIFLOOD = {
burst: 20,
sustained: 10
};
function ChatModule(channel) {
@ -198,8 +198,8 @@ ChatModule.prototype.handlePm = function (user, data) {
return;
}
if (user.chatLimiter.throttle(DEFAULT_ANTIFLOOD)) {
user.socket.emit("cooldown", 1000 / DEFAULT_ANTIFLOOD.sustained);
if (user.chatLimiter.throttle(MIN_ANTIFLOOD)) {
user.socket.emit("cooldown", 1000 / MIN_ANTIFLOOD.sustained);
return;
}
@ -255,9 +255,10 @@ ChatModule.prototype.processChatMsg = function (user, data) {
}
var msgobj = this.formatMessage(user.getName(), data);
var antiflood = DEFAULT_ANTIFLOOD;
var antiflood = MIN_ANTIFLOOD;
if (this.channel.modules.options &&
this.channel.modules.options.get("chat_antiflood")) {
this.channel.modules.options.get("chat_antiflood") &&
user.account.effectiveRank < 2) {
antiflood = this.channel.modules.options.get("chat_antiflood_params");
}

View File

@ -39,6 +39,11 @@ OptionsModule.prototype.load = function (data) {
}
}
}
this.opts.chat_antiflood_params.burst = Math.min(20,
this.opts.chat_antiflood_params.burst);
this.opts.chat_antiflood_params.sustained = Math.min(10,
this.opts.chat_antiflood_params.sustained);
};
OptionsModule.prototype.save = function (data) {
@ -216,11 +221,15 @@ OptionsModule.prototype.handleSetOptions = function (user, data) {
b = 1;
}
b = Math.min(20, b);
var s = parseFloat(data.chat_antiflood_params.sustained);
if (isNaN(s) || s <= 0) {
s = 1;
}
s = Math.min(10, s);
var c = b / s;
this.opts.chat_antiflood_params = {
burst: b,