Merge pull request #309 from dschulz/dev

Use a regular expression to split command parameters
This commit is contained in:
Ruben Bermudez 2017-10-06 18:20:20 +02:00 committed by GitHub
commit 193834e023
2 changed files with 4 additions and 4 deletions

View File

@ -11,7 +11,7 @@ import org.telegram.telegrambots.bots.AbsSender;
*/ */
public abstract class BotCommand { public abstract class BotCommand {
public final static String COMMAND_INIT_CHARACTER = "/"; public final static String COMMAND_INIT_CHARACTER = "/";
public static final String COMMAND_PARAMETER_SEPARATOR = " "; public static final String COMMAND_PARAMETER_SEPARATOR_REGEXP = "\\s+";
private final static int COMMAND_MAX_LENGTH = 32; private final static int COMMAND_MAX_LENGTH = 32;
private final String commandIdentifier; private final String commandIdentifier;
@ -75,4 +75,4 @@ public abstract class BotCommand {
* @param arguments passed arguments * @param arguments passed arguments
*/ */
public abstract void execute(AbsSender absSender, User user, Chat chat, String[] arguments); public abstract void execute(AbsSender absSender, User user, Chat chat, String[] arguments);
} }

View File

@ -97,7 +97,7 @@ public final class CommandRegistry implements ICommandRegistry {
String text = message.getText(); String text = message.getText();
if (text.startsWith(BotCommand.COMMAND_INIT_CHARACTER)) { if (text.startsWith(BotCommand.COMMAND_INIT_CHARACTER)) {
String commandMessage = text.substring(1); String commandMessage = text.substring(1);
String[] commandSplit = commandMessage.split(BotCommand.COMMAND_PARAMETER_SEPARATOR); String[] commandSplit = commandMessage.split(BotCommand.COMMAND_PARAMETER_SEPARATOR_REGEXP);
String command = removeUsernameFromCommandIfNeeded(commandSplit[0]); String command = removeUsernameFromCommandIfNeeded(commandSplit[0]);
@ -126,4 +126,4 @@ public final class CommandRegistry implements ICommandRegistry {
} }
return command; return command;
} }
} }