allow toggling spam detection
This commit is contained in:
parent
3c45dd110c
commit
7062d8e469
2 changed files with 38 additions and 18 deletions
|
@ -10,34 +10,54 @@ export default {
|
||||||
description: 'Perform administrative actions',
|
description: 'Perform administrative actions',
|
||||||
category: CommandCategory.Config,
|
category: CommandCategory.Config,
|
||||||
run: async (message: MessageCommandContext, args: string[]) => {
|
run: async (message: MessageCommandContext, args: string[]) => {
|
||||||
if (!isBotManager(message)) return message.reply(NO_MANAGER_MSG);
|
if (!await isBotManager(message)) return message.reply(NO_MANAGER_MSG);
|
||||||
|
|
||||||
|
try {
|
||||||
let action = args.shift();
|
let action = args.shift();
|
||||||
switch(action) {
|
switch(action) {
|
||||||
case 'ignore_blacklist':
|
case 'ignore_blacklist': {
|
||||||
try {
|
if (args[0] == 'yes') {
|
||||||
if (args[0] == 'yes') {
|
await dbs.SERVERS.update({ id: message.serverContext._id }, { $set: { allowBlacklistedUsers: true } });
|
||||||
await dbs.SERVERS.update({ id: message.serverContext._id }, { $set: { allowBlacklistedUsers: true } });
|
await message.reply('Globally blacklisted users will no longer get banned in this server. Previously banned users will need to be unbanned manually.');
|
||||||
await message.reply('Globally blacklisted users will no longer get banned in this server. Previously banned users will need to be unbanned manually.');
|
} else if (args[0] == 'no') {
|
||||||
} else if (args[0] == 'no') {
|
await dbs.SERVERS.update({ id: message.serverContext._id }, { $set: { allowBlacklistedUsers: false } });
|
||||||
await dbs.SERVERS.update({ id: message.serverContext._id }, { $set: { allowBlacklistedUsers: false } });
|
await message.reply('Globally blacklisted users will now get banned in this server.');
|
||||||
await message.reply('Globally blacklisted users will now get banned in this server.');
|
} else {
|
||||||
} else {
|
await message.reply(`Please specify either 'yes' or 'no' to toggle this setting.`);
|
||||||
await message.reply(`Please specify either 'yes' or 'no' to toggle this setting.`);
|
|
||||||
}
|
|
||||||
} catch(e) {
|
|
||||||
console.error(''+e);
|
|
||||||
message.reply('Something went wrong: ' + e);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case 'spam_detection': {
|
||||||
|
if (args[0] == 'on') {
|
||||||
|
await dbs.SERVERS.update({ id: message.serverContext._id }, { $set: { antispamEnabled: true } });
|
||||||
|
await message.reply('Spam detection is now enabled in this server.\nIf a user wrongfully gets kicked '
|
||||||
|
+ 'or banned, please report it here: https://rvlt.gg/jan\n\n'
|
||||||
|
+ 'Please make sure to grant AutoMod permission to **Kick**, **Ban** and **Manage Messages**!');
|
||||||
|
} else if (args[0] == 'off') {
|
||||||
|
await dbs.SERVERS.update({ id: message.serverContext._id }, { $set: { antispamEnabled: false } });
|
||||||
|
await message.reply('Spam detection is now disabled in this server.');
|
||||||
|
|
||||||
|
} else {
|
||||||
|
const cfg = await dbs.SERVERS.findOne({ id: message.serverContext._id });
|
||||||
|
await message.reply(`Spam detection is currently **${cfg?.antispamEnabled ? 'enabled' : 'disabled'}**. `
|
||||||
|
+ `Please specify either 'on' or 'off' to toggle this setting.`);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case undefined:
|
case undefined:
|
||||||
case '':
|
case '':
|
||||||
message.reply(`### Available subcommands\n`
|
message.reply(`### Available subcommands\n`
|
||||||
+ `- \`ignore_blacklist\` - Ignore the bot's global blacklist.`);
|
+ `- \`ignore_blacklist\` - Ignore the bot's global blacklist.\n`
|
||||||
|
+ `- \`spam_detection\` - Toggle automatic spam detection.\n`);
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
message.reply(`Unknown option`);
|
message.reply(`Unknown option`);
|
||||||
|
}
|
||||||
|
} catch(e) {
|
||||||
|
console.error(''+e);
|
||||||
|
message.reply('Something went wrong: ' + e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} as SimpleCommand;
|
} as SimpleCommand;
|
||||||
|
|
Binary file not shown.
Loading…
Reference in a new issue