clean up and rate limiting
This commit is contained in:
parent
ccef862e4b
commit
9f9d68214e
@ -234,8 +234,9 @@ module.exports = class AutoModeration extends Observer {
|
||||
msg.filtered = filterResult;
|
||||
log += `\nFilter result: ${inspect(filterResult)}`;
|
||||
if (!silent) {
|
||||
const res = await msg.formattedRespond('W_FILTER_DELETE', { params: { user: author.id } });
|
||||
res.delete({ timeout: 10000 });
|
||||
const res = await this.client.rateLimiter.limitSend(msg.channel, msg.format('W_FILTER_DELETE', { user: author.id }), undefined, 'wordFilter');
|
||||
//const res = await msg.formattedRespond('W_FILTER_DELETE', { params: { user: author.id } });
|
||||
if (res) res.delete({ timeout: 10000 });
|
||||
}
|
||||
|
||||
// 6. Automated actions
|
||||
@ -253,49 +254,18 @@ module.exports = class AutoModeration extends Observer {
|
||||
|
||||
if (!action) {
|
||||
this.client.logger.debug(log);
|
||||
return msg.delete();
|
||||
this.client.rateLimiter.queueDelete(msg.channel, msg);
|
||||
}
|
||||
|
||||
msg.filtered.sanctioned = true;
|
||||
msg.delete();
|
||||
this.client.rateLimiter.queueDelete(msg.channel, msg);
|
||||
this.client.logger.debug(log + '\nSanctioned');
|
||||
|
||||
// NOTE: this will have to be changed whenever the moderation manager is finished and properly supports sth like this
|
||||
this._moderate(action, guild, channel, member, moderationPoints, silent, msg.format('W_FILTER_ACTION'), filterResult, message);
|
||||
// this.client.moderationManager.handleInfraction(
|
||||
// CONSTANTS.Infractions[action.type],
|
||||
// { // Hacky patched together message object with just the required stuff for modmanager to work
|
||||
// guild,
|
||||
// member: guild.me,
|
||||
// channel,
|
||||
// arguments: {
|
||||
// force: {
|
||||
// value: action.force
|
||||
// },
|
||||
// points: {
|
||||
// value: action.points || moderationPoints.points[action.type]
|
||||
// },
|
||||
// expiration: {
|
||||
// value: action.expiration || moderationPoints.expirations[action.type]
|
||||
// },
|
||||
// silent: setting.silent
|
||||
// },
|
||||
// format: guild.format.bind(guild),
|
||||
// // eslint-disable-next-line no-empty-function
|
||||
// respond: () => { }
|
||||
// },
|
||||
// {
|
||||
// targets: [member],
|
||||
// reason: msg.format('W_FILTER_ACTION'),
|
||||
// duration: action.duration,
|
||||
// data: {
|
||||
// filterResult
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
|
||||
} else {
|
||||
msg.delete();
|
||||
this.client.rateLimiter.queueDelete(msg.channel, msg);
|
||||
this.client.logger.debug(log);
|
||||
}
|
||||
|
||||
@ -406,8 +376,9 @@ module.exports = class AutoModeration extends Observer {
|
||||
if (!remove) return;
|
||||
msg.filtered = filterResult;
|
||||
if (!silent) {
|
||||
const res = await msg.formattedRespond(`L_FILTER_DELETE`, { params: { user: author.id } });
|
||||
res.delete({ timeout: 10000 });
|
||||
const res = await this.client.rateLimiter.limitSend(msg.channel, msg.format('L_FILTER_DELETE', { user: author.id }), undefined, 'linkFilter');
|
||||
//const res = await msg.formattedRespond(`L_FILTER_DELETE`, { params: { user: author.id } });
|
||||
if (res) res.delete({ timeout: 10000 });
|
||||
}
|
||||
|
||||
if (actions.length) {
|
||||
@ -425,11 +396,12 @@ module.exports = class AutoModeration extends Observer {
|
||||
if (!action) return msg.delete();
|
||||
|
||||
msg.filtered.sactioned = true;
|
||||
msg.delete();
|
||||
this.client.rateLimiter.queueDelete(msg.channel, msg);
|
||||
//msg.delete();
|
||||
|
||||
this._moderate(action, guild, channel, member, moderationPoints, silent, msg.format('L_FILTER_ACTION'), filterResult, message);
|
||||
|
||||
} else msg.delete();
|
||||
} else this.client.rateLimiter.queueDelete(msg.channel, msg); //msg.delete();
|
||||
|
||||
}
|
||||
|
||||
@ -464,51 +436,15 @@ module.exports = class AutoModeration extends Observer {
|
||||
match: match[0],
|
||||
matcher: 'invites'
|
||||
};
|
||||
if (!action) return msg.delete();
|
||||
if (!action) return this.client.rateLimiter.queueDelete(msg.channel, msg); //msg.delete();
|
||||
if (!silent) {
|
||||
const res = await msg.formattedRespond('I_FILTER_DELETE', { params: { user: author.id } });
|
||||
res.delete({ timeout: 10000 });
|
||||
const res = await this.client.rateLimiter.limitSend(msg.channel, msg.format('I_FILTER_DELETE', { user: author.id }), undefined, 'inviteFilter');
|
||||
if (res) res.delete({ timeout: 10000 });
|
||||
}
|
||||
msg.filtered.sactioned = true;
|
||||
msg.delete();
|
||||
this.client.rateLimiter.queueDelete(msg.channel, msg);
|
||||
|
||||
this._moderate(action, guild, channel, member, moderationPoints, silent, msg.format('I_FILTER_ACTION'), { filtered: msg.filtered }, message);
|
||||
// NOTE: this will have to be changed whenever the moderation manager is finished and properly supports sth like this
|
||||
// this.client.moderationManager.handleInfraction(
|
||||
// CONSTANTS.Infractions[action.type],
|
||||
// {
|
||||
// guild,
|
||||
// member: guild.me,
|
||||
// channel,
|
||||
// arguments: {
|
||||
// force: {
|
||||
// value: action.force
|
||||
// },
|
||||
// points: {
|
||||
// value: action.points || moderationPoints.points[action.type]
|
||||
// },
|
||||
// expiration: {
|
||||
// value: action.expiration || moderationPoints.expirations[action.type]
|
||||
// },
|
||||
// silent: setting.silent//,
|
||||
// //prune: {
|
||||
// // name: 'prune',
|
||||
// // value: 50
|
||||
// //}
|
||||
// },
|
||||
// format: guild.format.bind(guild),
|
||||
// // eslint-disable-next-line no-empty-function
|
||||
// respond: () => {}
|
||||
// },
|
||||
// {
|
||||
// targets: [member],
|
||||
// reason: msg.format('I_FILTER_ACTION'),
|
||||
// duration: action.duration,
|
||||
// data: {
|
||||
// filtered: msg.filtered
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user