diff --git a/src/dataStructures/UserInput.java b/src/dataStructures/UserInput.java index 21fa03a..00e950c 100644 --- a/src/dataStructures/UserInput.java +++ b/src/dataStructures/UserInput.java @@ -60,6 +60,15 @@ public class UserInput isValid = false; } } + + //Used for injecting direct commands from plugins + public UserInput(String input, KittyGuild contextGuild) + { + int loc = FindFirstWhitespace(input); + key = input.substring(0, loc); + args = input.substring(loc); + isValid = true; + } public boolean IsValid() { diff --git a/src/main/Main.java b/src/main/Main.java index 8be398f..45deee6 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -91,8 +91,18 @@ public class Main extends ListenerAdapter if(pluginOutput != null && pluginOutput.size() > 0) { - for(int i = 0; i < pluginOutput.size(); ++i) - response.Call(pluginOutput.get(i)); + for(int i = 0; i < pluginOutput.size(); ++i) + { + if(pluginOutput.get(i).startsWith("!")) + { + commandManager.InvokeOnNewThread(guild, channel, user, new UserInput(pluginOutput.get(i).substring(1), guild), response); + } + else + { + response.Call(pluginOutput.get(i)); + } + } + } }