mirror of https://github.com/calzoneman/sync.git
Merge pull request #468 from calzoneman/chat-antiflood-limit
Update chat antiflood limit
This commit is contained in:
commit
7902f1c3c6
|
@ -22,10 +22,10 @@ const TYPE_PM = {
|
||||||
meta: "object,optional"
|
meta: "object,optional"
|
||||||
};
|
};
|
||||||
|
|
||||||
const DEFAULT_ANTIFLOOD = {
|
// Limit to 10 messages/sec
|
||||||
burst: 4,
|
const MIN_ANTIFLOOD = {
|
||||||
sustained: 1,
|
burst: 20,
|
||||||
cooldown: 4
|
sustained: 10
|
||||||
};
|
};
|
||||||
|
|
||||||
function ChatModule(channel) {
|
function ChatModule(channel) {
|
||||||
|
@ -198,8 +198,8 @@ ChatModule.prototype.handlePm = function (user, data) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user.chatLimiter.throttle(DEFAULT_ANTIFLOOD)) {
|
if (user.chatLimiter.throttle(MIN_ANTIFLOOD)) {
|
||||||
user.socket.emit("cooldown", 1000 / DEFAULT_ANTIFLOOD.sustained);
|
user.socket.emit("cooldown", 1000 / MIN_ANTIFLOOD.sustained);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -255,9 +255,10 @@ ChatModule.prototype.processChatMsg = function (user, data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var msgobj = this.formatMessage(user.getName(), data);
|
var msgobj = this.formatMessage(user.getName(), data);
|
||||||
var antiflood = DEFAULT_ANTIFLOOD;
|
var antiflood = MIN_ANTIFLOOD;
|
||||||
if (this.channel.modules.options &&
|
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");
|
antiflood = this.channel.modules.options.get("chat_antiflood_params");
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
OptionsModule.prototype.save = function (data) {
|
||||||
|
@ -216,11 +221,15 @@ OptionsModule.prototype.handleSetOptions = function (user, data) {
|
||||||
b = 1;
|
b = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
b = Math.min(20, b);
|
||||||
|
|
||||||
var s = parseFloat(data.chat_antiflood_params.sustained);
|
var s = parseFloat(data.chat_antiflood_params.sustained);
|
||||||
if (isNaN(s) || s <= 0) {
|
if (isNaN(s) || s <= 0) {
|
||||||
s = 1;
|
s = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s = Math.min(10, s);
|
||||||
|
|
||||||
var c = b / s;
|
var c = b / s;
|
||||||
this.opts.chat_antiflood_params = {
|
this.opts.chat_antiflood_params = {
|
||||||
burst: b,
|
burst: b,
|
||||||
|
|
Loading…
Reference in New Issue