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"
|
||||
};
|
||||
|
||||
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");
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue