cloudservices/src/class/Command.ts

43 lines
867 B
TypeScript
Raw Normal View History

2019-10-14 23:32:37 -04:00
import { Message } from 'eris';
2019-10-15 20:34:13 -04:00
import { Client } from '..';
2019-10-31 14:32:59 -04:00
import { Collection } from '.';
2019-10-14 18:02:04 -04:00
export default class Command {
name: string
2019-10-14 23:32:37 -04:00
2019-10-31 20:20:55 -04:00
parentName: string
2019-10-14 18:02:04 -04:00
description?: string
2019-10-14 23:32:37 -04:00
2019-10-14 18:02:04 -04:00
usage?: string
2019-10-14 23:32:37 -04:00
2019-10-14 18:02:04 -04:00
enabled: boolean
2019-10-14 23:32:37 -04:00
2019-10-14 18:02:04 -04:00
aliases?: string[]
2019-10-14 23:32:37 -04:00
2019-10-14 18:02:04 -04:00
client: Client
2019-10-14 23:37:04 -04:00
2019-10-14 23:32:37 -04:00
permissions?: { roles?: string[], users?: string[] }
2019-10-14 23:37:04 -04:00
2019-10-14 19:04:07 -04:00
guildOnly?: boolean
2019-10-14 23:37:04 -04:00
2019-10-31 14:32:59 -04:00
subcmds?: any[]
2019-10-31 16:12:08 -04:00
subcommands?: Collection<Command>
2019-10-29 16:12:01 -04:00
2019-10-15 14:03:40 -04:00
public run(message: Message, args: string[]) {} // eslint-disable-line
2019-10-14 23:37:04 -04:00
2019-10-14 18:02:04 -04:00
constructor(client: Client) {
2019-10-14 23:37:04 -04:00
this.name = 'None';
this.description = 'No description given';
this.usage = 'No usage given';
2019-10-15 18:38:49 -04:00
this.enabled = true;
2019-10-14 23:37:04 -04:00
this.aliases = [];
this.guildOnly = true;
this.client = client;
2019-10-31 14:32:59 -04:00
this.subcmds = [];
2019-10-31 16:26:01 -04:00
this.subcommands = new Collection<Command>();
2019-10-28 16:21:04 -04:00
this.permissions = {};
2019-10-14 18:02:04 -04:00
}
}