diff --git a/src/de/mrbesen/telegram/commands/CommandHandler.java b/src/de/mrbesen/telegram/commands/CommandHandler.java index b1dde41..8c2bb65 100644 --- a/src/de/mrbesen/telegram/commands/CommandHandler.java +++ b/src/de/mrbesen/telegram/commands/CommandHandler.java @@ -14,6 +14,6 @@ public interface CommandHandler { * @param json * @return */ - public boolean onCommand(TUser sender, String cmd, String[] args, JSONObject json); + public boolean onCommand(TUser sender, String cmd, String[] args); } diff --git a/src/de/mrbesen/telegram/commands/CommandManager.java b/src/de/mrbesen/telegram/commands/CommandManager.java index 35ee22e..c66c742 100644 --- a/src/de/mrbesen/telegram/commands/CommandManager.java +++ b/src/de/mrbesen/telegram/commands/CommandManager.java @@ -32,7 +32,11 @@ public class CommandManager { // System.out.println("cmd " + cmd + " args: " + args.length); for(CommandHandler cmdhand : handlerlist.get(cmd)) { try { - result = cmdhand.onCommand(sender, cmd, args, json); + if(cmdhand instanceof JSONCommandHandler) { + result = ((JSONCommandHandler) cmdhand).onCommand(sender, cmd, args, json); + } else { + result = cmdhand.onCommand(sender, cmd, args); + } if(result) break; } catch(Throwable t) { diff --git a/src/de/mrbesen/telegram/commands/JSONCommandHandler.java b/src/de/mrbesen/telegram/commands/JSONCommandHandler.java new file mode 100644 index 0000000..4abdf58 --- /dev/null +++ b/src/de/mrbesen/telegram/commands/JSONCommandHandler.java @@ -0,0 +1,19 @@ +package de.mrbesen.telegram.commands; + +import org.json.JSONObject; + +import de.mrbesen.telegram.objects.TUser; + +public interface JSONCommandHandler extends CommandHandler { + + /** + * Should return true, if the command is handled correctly, false if the help menu should be displayed + * @param sender + * @param cmd + * @param args + * @param json + * @return + */ + public boolean onCommand(TUser sender, String cmd, String[] args, JSONObject json); + +} diff --git a/src/de/mrbesen/test/Main.java b/src/de/mrbesen/test/Main.java index 87a09b8..ec4be93 100644 --- a/src/de/mrbesen/test/Main.java +++ b/src/de/mrbesen/test/Main.java @@ -2,7 +2,6 @@ package de.mrbesen.test; import java.util.Scanner; -import de.mrbesen.telegram.MessageBuilder; import de.mrbesen.telegram.TelegramAPI; import de.mrbesen.telegram.event.EventHandler; import de.mrbesen.telegram.event.EventListener; diff --git a/src/de/mrbesen/test/commands/InlineKeyboardTC.java b/src/de/mrbesen/test/commands/InlineKeyboardTC.java index fe41d80..7764b53 100644 --- a/src/de/mrbesen/test/commands/InlineKeyboardTC.java +++ b/src/de/mrbesen/test/commands/InlineKeyboardTC.java @@ -1,7 +1,5 @@ package de.mrbesen.test.commands; -import org.json.JSONObject; - import de.mrbesen.telegram.commands.CommandHandler; import de.mrbesen.telegram.objects.TInlineKeyboardMarkup; import de.mrbesen.telegram.objects.TUser; @@ -9,13 +7,12 @@ import de.mrbesen.telegram.objects.TUser; public class InlineKeyboardTC implements CommandHandler { @Override - public boolean onCommand(TUser sender, String cmd, String[] args, JSONObject ignored) { - if(cmd.equals("inlinekb")) { - sender.sendMessage("Links zu antippen:", - new TInlineKeyboardMarkup(2) - .addUrlButton("gg","https://green-gaming.de", 1) - .addUrlButton("ok", "https://oliver-kaestner.de", 1) - .addUrlButton("mrB", "https://mrbesen.de", 2)); + public boolean onCommand(TUser sender, String cmd, String[] args) { + if (cmd.equals("inlinekb")) { + sender.sendMessage("Links zu antippen:", + new TInlineKeyboardMarkup(2).addUrlButton("gg", "https://green-gaming.de", 1) + .addUrlButton("ok", "https://oliver-kaestner.de", 1).addUrlButton("mrB", + "https://mrbesen.de", 2)); return true; } return false; diff --git a/src/de/mrbesen/test/commands/ReplyKeyboardRemoveTC.java b/src/de/mrbesen/test/commands/ReplyKeyboardRemoveTC.java index 95a211d..dd1e80e 100644 --- a/src/de/mrbesen/test/commands/ReplyKeyboardRemoveTC.java +++ b/src/de/mrbesen/test/commands/ReplyKeyboardRemoveTC.java @@ -9,7 +9,7 @@ import de.mrbesen.telegram.objects.TUser; public class ReplyKeyboardRemoveTC implements CommandHandler { @Override - public boolean onCommand(TUser sender, String cmd, String[] args, JSONObject ignored) { + public boolean onCommand(TUser sender, String cmd, String[] args) { if(cmd.equals("replykbrm")) { sender.sendMessage("Entferne TReplyKeyboard", new TReplyKeyboardRemove()); diff --git a/src/de/mrbesen/test/commands/ReplyKeyboardTestCase.java b/src/de/mrbesen/test/commands/ReplyKeyboardTestCase.java index 2fe2e46..d591f96 100644 --- a/src/de/mrbesen/test/commands/ReplyKeyboardTestCase.java +++ b/src/de/mrbesen/test/commands/ReplyKeyboardTestCase.java @@ -10,7 +10,7 @@ import de.mrbesen.telegram.objects.TUser; public class ReplyKeyboardTestCase implements CommandHandler { @Override - public boolean onCommand(TUser sender, String cmd, String[] args, JSONObject ignored) { + public boolean onCommand(TUser sender, String cmd, String[] args) { if(cmd.equals("replykb")) { sender.sendMessage("Buttons zum Antippen:", new TReplyKeyboardMarkup(2) diff --git a/src/de/mrbesen/test/commands/SimpleTestCase.java b/src/de/mrbesen/test/commands/SimpleTestCase.java index 27848b1..c043e62 100644 --- a/src/de/mrbesen/test/commands/SimpleTestCase.java +++ b/src/de/mrbesen/test/commands/SimpleTestCase.java @@ -8,7 +8,7 @@ import de.mrbesen.telegram.objects.TUser; public class SimpleTestCase implements CommandHandler { @Override - public boolean onCommand(TUser sender, String cmd, String[] args, JSONObject ignored) { + public boolean onCommand(TUser sender, String cmd, String[] args) { if(cmd.equals("test")) { sender.sendMessage("HI"); return true;