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
* @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);
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) {

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 de.mrbesen.telegram.MessageBuilder;
import de.mrbesen.telegram.TelegramAPI;
import de.mrbesen.telegram.event.EventHandler;
import de.mrbesen.telegram.event.EventListener;

View File

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

View File

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

View File

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

View File

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