stuyy / slappey

Discord Bot Project Generator
216 stars 50 forks source link

Subcommands and more #52

Open daanbreur opened 3 years ago

daanbreur commented 3 years ago

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.

loveisglitchy commented 3 years ago

This may be a better idea to put in a pull request rather than an issue.

daanbreur commented 3 years ago

Well i have no code so i cant make a pr.... and i have no idea on how to implement this.

loveisglitchy commented 3 years ago

May I ask what you would like the subCommands to do?

daanbreur commented 3 years ago

Just so you can have all subcommands in seperate files. Like /command subcommand args

loveisglitchy commented 3 years ago

Isn't that just like aliases?

SirTenzin commented 3 years ago

No, I think they meant this for example:

/filters clear
/filters 8d off
/filters nightcore on