Subcommands and more
It may be a good idea to add subcommands to the command/commandhandler. and stuff like AdminOnly / GuildOnly.
the BaseCommand.ts class could be something like this:
export default abstract class BaseCommand {
constructor(private name: string, private description: string, private category: string, private args: boolean, private guildOnly: boolean, private adminOnly: boolean, private subCommands: [], private aliases: Array<string>) {}
getName(): string { return this.name; }
getDescription(): string { return this.description; }
getCategory(): string { return this.category; }
getArgs(): boolean { return this.args; }
getGuildOnly(): boolean { return this.guildOnly; }
getAdminOnly(): boolean { return this.adminOnly; }
getSubCommands(): [] { return this.subCommands; }
getAliases(): Array<string> { return this.aliases; }
abstract run(client: DiscordClient, message: Message, args: Array<string> | null): Promise<void>;
}
this is just an example and i couldnt get it working. Someone more experianced then me should be able to figure it out quite easily i think.
This may be a better idea to put in a pull request rather than an issue.
Well i have no code so i cant make a pr.... and i have no idea on how to implement this.
May I ask what you would like the subCommands to do?
Just so you can have all subcommands in seperate files. Like /command subcommand args
Isn't that just like aliases?
No, I think they meant this for example:
/filters clear
/filters 8d off
/filters nightcore on