aboutsummaryrefslogtreecommitdiff
path: root/commands/restart.ts
diff options
context:
space:
mode:
Diffstat (limited to 'commands/restart.ts')
-rw-r--r--commands/restart.ts37
1 files changed, 37 insertions, 0 deletions
diff --git a/commands/restart.ts b/commands/restart.ts
new file mode 100644
index 0000000..0f4bcfd
--- /dev/null
+++ b/commands/restart.ts
@@ -0,0 +1,37 @@
+import {CommandBase} from "../core/CommandBase";
+import {SlashCommandBuilder} from "@discordjs/builders";
+import * as fs from 'fs';
+import {CommandAction} from "../core/CommandAction";
+import {MessageEmbed} from "discord.js";
+
+export class RestartCommand extends CommandBase {
+ constructor() {
+ super();
+ this.slashCommandData = new SlashCommandBuilder()
+ .setName("restart")
+ .setDescription("Restarts the bot")
+ }
+
+ public handle(action: CommandAction) {
+ let interaction = action.getInteraction();
+
+ if (!interaction.memberPermissions.has("ADMINISTRATOR")) {
+ interaction.reply({
+ embeds: [
+ new MessageEmbed()
+ .setDescription(":x: You need to have the server administrator permission.")
+ ]
+ });
+ return;
+ }
+
+ interaction.reply({
+ embeds: [
+ new MessageEmbed()
+ .setDescription(":white_check_mark: The bot is now restarting")
+ ]
+ }).then(() => {
+ fs.writeFileSync("./RESTART-FORCE", "");
+ });
+ }
+}