1
0
mirror of https://github.com/toast-ts/Daggerbot-TS.git synced 2024-11-17 00:10:58 -05:00

revise the bannedWords command

This commit is contained in:
toast-ts 2022-12-22 18:19:56 +11:00
parent 55df26eece
commit 64466e7e15
3 changed files with 44 additions and 21 deletions

View File

@ -1,19 +0,0 @@
import Discord,{SlashCommandBuilder} from 'discord.js';
import { TClient } from 'src/client';
export default {
async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){
if (!client.isStaff(interaction.member) && !client.config.eval.whitelist.includes(interaction.member.id)) return client.youNeedRole(interaction, 'admin')
const word = interaction.options.getString('word');
if (client.bannedWords._content.includes(word)) return interaction.reply({content: 'That word is already added to the list.', ephemeral: true});
client.bannedWords.addData(word).forceSave();
interaction.reply(`Successfully added \`${word}\` to the list.`)
},
data: new SlashCommandBuilder()
.setName('addbannedword')
.setDescription('Add a word to bannedWords file')
.setDMPermission(false)
.addStringOption((opt)=>opt
.setName('word')
.setDescription('What word do you want automod to ban?')
.setRequired(true))
}

View File

@ -0,0 +1,44 @@
import Discord,{SlashCommandBuilder} from 'discord.js';
import { TClient } from 'src/client';
export default {
async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){
if (!client.isStaff(interaction.member) && !client.config.eval.whitelist.includes(interaction.member.id)) return client.youNeedRole(interaction, 'admin')
const Sub = interaction.options.getSubcommand();
const word = interaction.options.getString('word');
switch(Sub){
case 'view':
interaction.reply({content: 'Here is a complete list of banned words!\n*You can open it with a web browser, e.g Chrome/Firefox/Safari, or you can use Visual Studio Code/Notepad++*', files: ['src/database/bannedWords.json'], ephemeral: true})
break;
case 'add':
if (client.bannedWords._content.includes(word)) return interaction.reply({content: `\`${word}\` is already added.`, ephemeral: true});
client.bannedWords.addData(word).forceSave();
interaction.reply(`Successfully added \`${word}\` to the list.`)
break;
case 'remove':
if (client.bannedWords._content.includes(!word)) return interaction.reply({content: `\`${word}\` doesn't exist on the list.`, ephemeral: true});
client.bannedWords.removeData(word, 1, 0).forceSave();
interaction.reply(`Successfully removed \`${word}\` from the list.`)
}
},
data: new SlashCommandBuilder()
.setName('bannedwords')
.setDescription('description placeholder')
.setDMPermission(false)
.addSubcommand((opt)=>opt
.setName('view')
.setDescription('View the list of currently banned words.'))
.addSubcommand((opt)=>opt
.setName('add')
.setDescription('What word do you want to add?')
.addStringOption((optt)=>optt
.setName('word')
.setDescription('Add the specific word to automod\'s bannedWords list.')
.setRequired(true)))
.addSubcommand((opt)=>opt
.setName('remove')
.setDescription('What word do you want to remove?')
.addStringOption((optt)=>optt
.setName('word')
.setDescription('Remove the specific word from automod\'s bannedWords list.')
.setRequired(true)))
}

View File

@ -31,8 +31,6 @@ export class Database {
case 1:
this._content = this._content.filter((x:any)=>x[element] != key);
break;
default:
return 'Type must be properly specified';
}
} else if (this._dataType === 'object'){
delete this._content[key];