diff --git a/src/main/java/sciwhiz12/janitor/commands/arguments/UserArgument.java b/src/main/java/sciwhiz12/janitor/commands/arguments/UserArgument.java index a843fe8..3d23e9a 100644 --- a/src/main/java/sciwhiz12/janitor/commands/arguments/UserArgument.java +++ b/src/main/java/sciwhiz12/janitor/commands/arguments/UserArgument.java @@ -38,6 +38,17 @@ public class UserArgument implements ArgumentType { return new NumericalProvider(Long.parseLong(matcher.group(1))); } } + reader.setCursor(startCursor); + CommandSyntaxException idReadException = null; + if (StringReader.isAllowedNumber(reader.peek())) { + try { + long value = reader.readLong(); + return new NumericalProvider(value); + } catch (CommandSyntaxException e) { + idReadException = e; + } + } + if (idReadException != null) throw idReadException; throw UNKNOWN_USER_IDENTIFIER.create(); } @@ -46,6 +57,10 @@ public class UserArgument implements ArgumentType { return ImmutableList.of("<@!607058472709652501>", "<@750291676764962816>"); } + private boolean isNumericalCharacter(char c) { + return c >= '0' && c <= '9'; + } + public interface IUserProvider { CompletableFuture getUsers(DiscordApi api); }