From 4318d6be297d575acc2a03760efee6b0e26a9cac Mon Sep 17 00:00:00 2001 From: Skydust Date: Sun, 17 Sep 2023 15:00:39 +0200 Subject: [PATCH] Fixed the issue that caused the process runtime to not account for arguments correctly inside the HeartbeatTask --- src/main/java/fr/Skydust/JdrBot/tasks/HeartbeatTask.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/fr/Skydust/JdrBot/tasks/HeartbeatTask.java b/src/main/java/fr/Skydust/JdrBot/tasks/HeartbeatTask.java index 63ec98f..6961eec 100644 --- a/src/main/java/fr/Skydust/JdrBot/tasks/HeartbeatTask.java +++ b/src/main/java/fr/Skydust/JdrBot/tasks/HeartbeatTask.java @@ -5,6 +5,7 @@ import net.dv8tion.jda.api.events.GatewayPingEvent; import java.io.IOException; import java.io.InputStream; +import java.util.Arrays; import java.util.Scanner; import java.util.TimerTask; @@ -22,8 +23,10 @@ public class HeartbeatTask extends TimerTask { long ping = JdrBot.jda.getGatewayPing(); try { - Process p = Runtime.getRuntime().exec(command.replaceAll("\\{ping\\}", String.valueOf(ping))); + String[] commandToRun = {"bash", "-c", command.replaceAll("\\{ping\\}", String.valueOf(ping))}; + Process p = Runtime.getRuntime().exec(commandToRun); if(JdrBot.debugMode) { + System.out.println("DEBUG: Ran command \""+ Arrays.toString(commandToRun) + "\""); try (InputStream inputStream = p.getInputStream(); Scanner s = new Scanner(inputStream).useDelimiter("\\A")) { System.out.println(s.hasNext() ? s.next() : ""); } catch (IOException e) {