From 36fa5b3f9b4c89d293d5d375f07b2ef51d63bebe Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Tue, 17 Dec 2024 16:36:35 +0700 Subject: [PATCH] feat: RestartCommand --- build-number.txt | 2 +- .../java/me/chayapak1/chomens_bot/Main.java | 6 ++-- .../chomens_bot/commands/EndCommand.java | 4 +-- .../chomens_bot/commands/RestartCommand.java | 34 +++++++++++++++++++ .../chomens_bot/commands/StopCommand.java | 2 +- .../plugins/CommandHandlerPlugin.java | 1 + 6 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 src/main/java/me/chayapak1/chomens_bot/commands/RestartCommand.java diff --git a/build-number.txt b/build-number.txt index 078cc70a..f845c1c7 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -1262 \ No newline at end of file +1267 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/Main.java b/src/main/java/me/chayapak1/chomens_bot/Main.java index 0a838b1c..90ef8c42 100644 --- a/src/main/java/me/chayapak1/chomens_bot/Main.java +++ b/src/main/java/me/chayapak1/chomens_bot/Main.java @@ -104,7 +104,7 @@ public class Main { // no need to reset backupFailTimes because we are stopping anyway - stop(); + stop(0); } }, 0, config.backup.interval, TimeUnit.MILLISECONDS); } @@ -139,7 +139,7 @@ public class Main { } // most of these are stolen from HBot - public static void stop () { + public static void stop (int exitCode) { if (stopping) return; stopping = true; @@ -199,6 +199,6 @@ public class Main { } } - System.exit(0); + System.exit(exitCode); } } \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/EndCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/EndCommand.java index e94a8e82..2f78d24f 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/EndCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/EndCommand.java @@ -11,9 +11,9 @@ public class EndCommand extends Command { public EndCommand () { super( "end", - "End/Reconnects the bot", + "Reconnects the bot", new String[] { "" }, - new String[] { "reconnect", "restart" }, + new String[] { "reconnect" }, TrustLevel.TRUSTED, false ); diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/RestartCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/RestartCommand.java new file mode 100644 index 00000000..adbfc52e --- /dev/null +++ b/src/main/java/me/chayapak1/chomens_bot/commands/RestartCommand.java @@ -0,0 +1,34 @@ +package me.chayapak1.chomens_bot.commands; + +import me.chayapak1.chomens_bot.Bot; +import me.chayapak1.chomens_bot.Main; +import me.chayapak1.chomens_bot.command.Command; +import me.chayapak1.chomens_bot.command.CommandContext; +import me.chayapak1.chomens_bot.command.CommandException; +import me.chayapak1.chomens_bot.command.TrustLevel; +import me.chayapak1.chomens_bot.util.ColorUtilities; +import net.kyori.adventure.text.Component; + +public class RestartCommand extends Command { + public RestartCommand() { + super( + "restart", + "Gracefully restarts the bot", + new String[] { "" }, + new String[] {}, + TrustLevel.OWNER, + false + ); + } + + @Override + public Component execute(CommandContext context) throws CommandException { + context.checkOverloadArgs(0); + + final Bot bot = context.bot; + + Main.stop(1); + + return Component.text("Restarting").color(ColorUtilities.getColorByString(bot.config.colorPalette.defaultColor)); + } +} diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/StopCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/StopCommand.java index 7e97ad95..0c17a349 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/StopCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/StopCommand.java @@ -27,7 +27,7 @@ public class StopCommand extends Command { final Bot bot = context.bot; - Main.stop(); + Main.stop(0); return Component.text("Stopping").color(ColorUtilities.getColorByString(bot.config.colorPalette.defaultColor)); } diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/CommandHandlerPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/CommandHandlerPlugin.java index 7ca6fd38..468cee16 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/CommandHandlerPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/CommandHandlerPlugin.java @@ -58,6 +58,7 @@ public class CommandHandlerPlugin { registerCommand(new StopCommand()); registerCommand(new GrepLogCommand()); registerCommand(new FindAltsCommand()); + registerCommand(new RestartCommand()); } public boolean disabled = false;