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 { class BannedWordsCommand extends Command {
constructor() { constructor() {
super('BannedWords', { super('BannedWords', {
aliases: ['bannedword', 'banword'], aliases: ['bannedword', 'banword', 'unbanword'],
category: 'admin', category: 'admin',
userPermissions: ['MANAGE_MESSAGES'], userPermissions: ['MANAGE_MESSAGES'],
clientPermissions: ['MANAGE_MESSAGES', 'SEND_MESSAGES'], clientPermissions: ['MANAGE_MESSAGES', 'SEND_MESSAGES'],
@ -27,7 +27,7 @@ class BannedWordsCommand extends Command {
], ],
channelRestriction: 'guild', channelRestriction: 'guild',
description: { 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]', usage: '[word to ban]',
examples: ['owo'] examples: ['owo']
} }
@ -35,23 +35,30 @@ class BannedWordsCommand extends Command {
} }
async exec(message, args) { async exec(message, args) {
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) { if (args.removeall) {
BannedWords.destroy({where: {serverID: message.guild.id}}); BannedWords.destroy({where: {serverID: message.guild.id}});
return message.channel.send('The banned words have been reset.'); return message.channel.send('The banned words have been reset.');
} }
if (!args.word) return message.channel.send('Please specify a word to ban!'); 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');
}
}
args.word = args.word.replace(/[\u0250-\ue007]/g, ''); if (!args.word) return message.channel.send('Please specify a word to ban!');
const bannedWords = await BannedWords.findOne({where: {word: args.word.toLowerCase(), serverID: message.guild.id}});
if (!bannedWords) { if (!bannedWords) {
const body = {word: args.word.toLowerCase(), serverID: message.guild.id}; const body = {word: args.word.toLowerCase(), serverID: message.guild.id};
await BannedWords.create(body); await BannedWords.create(body);
return message.channel.send(`The word ${args.word.toLowerCase()} has been banned`); 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 { } else {
message.channel.send('This word is already banned'); message.channel.send('This word is already banned');
} }