unbanword alias

This commit is contained in:
loicbersier 2020-02-18 18:59:38 +01:00
parent d8c19c32b1
commit 494440f289

View file

@ -4,7 +4,7 @@ const BannedWords = require('../../models').bannedWords;
class BannedWordsCommand extends Command {
constructor() {
super('BannedWords', {
aliases: ['bannedword', 'banword'],
aliases: ['bannedword', 'banword', 'unbanword'],
category: 'admin',
userPermissions: ['MANAGE_MESSAGES'],
clientPermissions: ['MANAGE_MESSAGES', 'SEND_MESSAGES'],
@ -27,7 +27,7 @@ class BannedWordsCommand extends Command {
],
channelRestriction: 'guild',
description: {
content: 'Ban word on the server. --remove to delete a banned word. --removeaall to remove every banned word',
content: 'Ban word on the server. use the unbanword alias to delete a banned word, unbanword alias and --removeaall to remove every banned word',
usage: '[word to ban]',
examples: ['owo']
}
@ -35,23 +35,30 @@ class BannedWordsCommand extends Command {
}
async exec(message, args) {
if (args.removeall) {
BannedWords.destroy({where: {serverID: message.guild.id}});
return message.channel.send('The banned words have been reset.');
if (!args.word) args.word = '';
args.word = args.word.replace(/[\u0250-\ue007]/g, '');
const bannedWords = await BannedWords.findOne({where: {word: args.word.toLowerCase(), serverID: message.guild.id}});
if (message.util.parsed.alias == 'unbanword') {
if (args.removeall) {
BannedWords.destroy({where: {serverID: message.guild.id}});
return message.channel.send('The banned words have been reset.');
}
if (bannedWords) {
BannedWords.destroy({where: {word: args.word.toLowerCase(), serverID: message.guild.id}});
return message.channel.send(`The word ${args.word.toLowerCase()} is no longer banned`);
} else {
return message.channel.send('There was no word to unban');
}
}
if (!args.word) return message.channel.send('Please specify a word to ban!');
args.word = args.word.replace(/[\u0250-\ue007]/g, '');
const bannedWords = await BannedWords.findOne({where: {word: args.word.toLowerCase(), serverID: message.guild.id}});
if (!bannedWords) {
const body = {word: args.word.toLowerCase(), serverID: message.guild.id};
await BannedWords.create(body);
return message.channel.send(`The word ${args.word.toLowerCase()} has been banned`);
} else if (args.remove && bannedWords) {
BannedWords.destroy({where: {word: args.word.toLowerCase(), serverID: message.guild.id}});
return message.channel.send(`The word ${args.word.toLowerCase()} is no longer banned`);
} else {
message.channel.send('This word is already banned');
}