diff options
author | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-05-27 17:15:53 -0400 |
---|---|---|
committer | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-05-27 17:15:53 -0400 |
commit | 705cead579a79d6ee86dd2e5edfcea2344bea6ce (patch) | |
tree | 3adf8875de96e84506d7b650cdc50d358a861d5c /src/commands/dev/reload.ts | |
parent | 2c74ebf6651ccdc78e9fa5799c7887fe52b1ac2d (diff) | |
parent | 1546da359646b89f13d17784eb7653a52ca61efd (diff) | |
download | tanzanite-705cead579a79d6ee86dd2e5edfcea2344bea6ce.tar.gz tanzanite-705cead579a79d6ee86dd2e5edfcea2344bea6ce.tar.bz2 tanzanite-705cead579a79d6ee86dd2e5edfcea2344bea6ce.zip |
Merge branch 'rewrite' of https://github.com/NotEnoughUpdates/mb-bot-ts into rewrite
Diffstat (limited to 'src/commands/dev/reload.ts')
-rw-r--r-- | src/commands/dev/reload.ts | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/commands/dev/reload.ts b/src/commands/dev/reload.ts new file mode 100644 index 0000000..64e5745 --- /dev/null +++ b/src/commands/dev/reload.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()); + } +} |