diff options
author | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-05-26 21:53:35 -0400 |
---|---|---|
committer | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-05-26 21:53:35 -0400 |
commit | cd0f853a2e4732cea5356f9ee3603bb804b0ab1f (patch) | |
tree | ac2f6ced46dfae7ca376e4dbd957d99a341d86a9 /src/commands/dev/reloadCommand.ts | |
parent | 0caccda67d97dd74405aa4ece5d3f07e7c7dfc66 (diff) | |
download | tanzanite-cd0f853a2e4732cea5356f9ee3603bb804b0ab1f.tar.gz tanzanite-cd0f853a2e4732cea5356f9ee3603bb804b0ab1f.tar.bz2 tanzanite-cd0f853a2e4732cea5356f9ee3603bb804b0ab1f.zip |
made some more changes
Diffstat (limited to 'src/commands/dev/reloadCommand.ts')
-rw-r--r-- | src/commands/dev/reloadCommand.ts | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/commands/dev/reloadCommand.ts b/src/commands/dev/reloadCommand.ts new file mode 100644 index 0000000..64e5745 --- /dev/null +++ b/src/commands/dev/reloadCommand.ts @@ -0,0 +1,44 @@ +import { BushCommand } from '../../lib/extensions/BushCommand'; +import { stripIndent } from 'common-tags'; +import { Message } from 'discord.js'; +import { CommandInteraction } from 'discord.js'; + +export default class ReloadCommand extends BushCommand { + constructor() { + super('reload', { + aliases: ['reload'], + category: 'dev', + description: { + content: 'Reloads the bot', + usage: 'reload', + examples: ['reload'] + }, + ownerOnly: true, + typing: true + }); + } + + private async getResponse(): Promise<string> { + try { + await this.client.util.shell('yarn rimraf dist/'); + await this.client.util.shell('yarn tsc'); + this.client.commandHandler.reloadAll(); + this.client.listenerHandler.reloadAll(); + this.client.inhibitorHandler.reloadAll(); + return '🔁 Successfully reloaded!'; + } catch (e) { + return stripIndent` + An error occured while reloading: + ${await this.client.util.haste(e.stack)} + `; + } + } + + public async exec(message: Message): Promise<void> { + await message.util.send(await this.getResponse()); + } + + public async execSlash(message: CommandInteraction): Promise<void> { + await message.reply(await this.getResponse()); + } +} |