This commit is contained in:
MrBesen 2018-10-12 17:24:07 +02:00
parent 57c6ba701a
commit 64cdf55996
8 changed files with 34 additions and 15 deletions

View File

@ -14,6 +14,6 @@ public interface CommandHandler {
* @param json * @param json
* @return * @return
*/ */
public boolean onCommand(TUser sender, String cmd, String[] args, JSONObject json); public boolean onCommand(TUser sender, String cmd, String[] args);
} }

View File

@ -32,7 +32,11 @@ public class CommandManager {
// System.out.println("cmd " + cmd + " args: " + args.length); // System.out.println("cmd " + cmd + " args: " + args.length);
for(CommandHandler cmdhand : handlerlist.get(cmd)) { for(CommandHandler cmdhand : handlerlist.get(cmd)) {
try { 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) if(result)
break; break;
} catch(Throwable t) { } catch(Throwable t) {

View File

@ -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);
}

View File

@ -2,7 +2,6 @@ package de.mrbesen.test;
import java.util.Scanner; import java.util.Scanner;
import de.mrbesen.telegram.MessageBuilder;
import de.mrbesen.telegram.TelegramAPI; import de.mrbesen.telegram.TelegramAPI;
import de.mrbesen.telegram.event.EventHandler; import de.mrbesen.telegram.event.EventHandler;
import de.mrbesen.telegram.event.EventListener; import de.mrbesen.telegram.event.EventListener;

View File

@ -1,7 +1,5 @@
package de.mrbesen.test.commands; package de.mrbesen.test.commands;
import org.json.JSONObject;
import de.mrbesen.telegram.commands.CommandHandler; import de.mrbesen.telegram.commands.CommandHandler;
import de.mrbesen.telegram.objects.TInlineKeyboardMarkup; import de.mrbesen.telegram.objects.TInlineKeyboardMarkup;
import de.mrbesen.telegram.objects.TUser; import de.mrbesen.telegram.objects.TUser;
@ -9,13 +7,12 @@ import de.mrbesen.telegram.objects.TUser;
public class InlineKeyboardTC implements CommandHandler { public class InlineKeyboardTC implements CommandHandler {
@Override @Override
public boolean onCommand(TUser sender, String cmd, String[] args, JSONObject ignored) { public boolean onCommand(TUser sender, String cmd, String[] args) {
if(cmd.equals("inlinekb")) { if (cmd.equals("inlinekb")) {
sender.sendMessage("Links zu antippen:", sender.sendMessage("Links zu antippen:",
new TInlineKeyboardMarkup(2) new TInlineKeyboardMarkup(2).addUrlButton("gg", "https://green-gaming.de", 1)
.addUrlButton("gg","https://green-gaming.de", 1) .addUrlButton("ok", "https://oliver-kaestner.de", 1).addUrlButton("mrB",
.addUrlButton("ok", "https://oliver-kaestner.de", 1) "https://mrbesen.de", 2));
.addUrlButton("mrB", "https://mrbesen.de", 2));
return true; return true;
} }
return false; return false;

View File

@ -9,7 +9,7 @@ import de.mrbesen.telegram.objects.TUser;
public class ReplyKeyboardRemoveTC implements CommandHandler { public class ReplyKeyboardRemoveTC implements CommandHandler {
@Override @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")) { if(cmd.equals("replykbrm")) {
sender.sendMessage("Entferne TReplyKeyboard", sender.sendMessage("Entferne TReplyKeyboard",
new TReplyKeyboardRemove()); new TReplyKeyboardRemove());

View File

@ -10,7 +10,7 @@ import de.mrbesen.telegram.objects.TUser;
public class ReplyKeyboardTestCase implements CommandHandler { public class ReplyKeyboardTestCase implements CommandHandler {
@Override @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")) { if(cmd.equals("replykb")) {
sender.sendMessage("Buttons zum Antippen:", sender.sendMessage("Buttons zum Antippen:",
new TReplyKeyboardMarkup(2) new TReplyKeyboardMarkup(2)

View File

@ -8,7 +8,7 @@ import de.mrbesen.telegram.objects.TUser;
public class SimpleTestCase implements CommandHandler { public class SimpleTestCase implements CommandHandler {
@Override @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")) { if(cmd.equals("test")) {
sender.sendMessage("HI"); sender.sendMessage("HI");
return true; return true;