// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // Magicbane Emulator Project © 2013 - 2022 // www.magicbane.com package discord.handlers; import discord.MagicBot; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.pmw.tinylog.Logger; import java.io.IOException; public class DevRequestHandler { public static void handleRequest(MessageReceivedEvent event, String[] args) { String serverCommand; String buildTarget = ""; String execString = ""; // Early exit if database unavailable or is not an admin if (MagicBot.isAdminEvent(event) == false) return; // No command supplied? if (args.length != 1) return; serverCommand = args[0].toLowerCase().trim(); if (args.length == 2) buildTarget = args[1].toLowerCase().trim(); switch (serverCommand) { case "build" : execString = "/bin/sh -c ./mbdevbuild.sh " + buildTarget; break; case "restart": execString = "/bin/sh -c ./mbdevrestart.sh"; break; case "debug": execString = "/bin/sh -c ./mbdevdebug.sh"; break; case "shutdown": execString = "/bin/sh -c ./mbdevkill.sh"; break; default: break; } if (execString.isEmpty() == false) { try { Runtime.getRuntime().exec(execString); } catch (IOException e) { e.printStackTrace(); } MagicBot.sendResponse(event, "Executed on dev: " + serverCommand + " " + buildTarget); Logger.info(event.getAuthor().getName() + " told dev to " + serverCommand + " " + buildTarget); } } }