fix(MessageCommandContext): missing check for channel when option is of type STRING
This commit is contained in:
1 parent
b15ed9d577
commit
29eecd42a9
1 file changed
+8
-8
@@ -131,8 +131,8 @@ public class MessageCommandContext extends CommandContext {
|
|||||||
case STRING -> {
|
case STRING -> {
|
||||||
String str = args[index];
|
String str = args[index];
|
||||||
|
|
||||||
if (str.contains("<@") && str.contains(">")) {
|
if ((str.contains("<@") || str.contains("<#")) && str.contains(">")) {
|
||||||
invalidateContext(data, "expected a string at index " + index + " but a role/user/channel was provided");
|
invalidateContext(data, "expected a string at position " + (index + 1) + " but a role/user/channel was provided");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,7 +216,7 @@ public class MessageCommandContext extends CommandContext {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
invalidateContext(data, "provided argument at index " + roleMentionIndex + " is not a valid role.");
|
invalidateContext(data, "provided argument at position " + (index + 1) + " is not a valid role.");
|
||||||
}
|
}
|
||||||
case USER -> {
|
case USER -> {
|
||||||
if (mentions.getMembers().size() > memberMentionIndex) {
|
if (mentions.getMembers().size() > memberMentionIndex) {
|
||||||
@@ -232,7 +232,7 @@ public class MessageCommandContext extends CommandContext {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
invalidateContext(data, "provided argument is not a valid user.");
|
invalidateContext(data, "provided argument at position " + (index + 1) + " is not a valid user.");
|
||||||
}
|
}
|
||||||
case MENTIONABLE -> {
|
case MENTIONABLE -> {
|
||||||
if (mentions.getRoles().size() > roleMentionIndex) {
|
if (mentions.getRoles().size() > roleMentionIndex) {
|
||||||
@@ -258,14 +258,14 @@ public class MessageCommandContext extends CommandContext {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
invalidateContext(data, "provided argument is not a valid user or role.");
|
invalidateContext(data, "provided argument at position " + (index + 1) + " is not a valid user or role.");
|
||||||
}
|
}
|
||||||
case CHANNEL -> {
|
case CHANNEL -> {
|
||||||
if (mentions.getChannels().size() > channelMentionIndex) {
|
if (mentions.getChannels().size() > channelMentionIndex) {
|
||||||
GuildChannel channel = mentions.getChannels().get(channelMentionIndex++);
|
GuildChannel channel = mentions.getChannels().get(channelMentionIndex++);
|
||||||
|
|
||||||
if (!requiredChannelTypes.contains(channel.getType())) {
|
if (!requiredChannelTypes.contains(channel.getType())) {
|
||||||
invalidateContext(data, "not a valid channel type at index " + (channelMentionIndex -1) +
|
invalidateContext(data, "not a valid channel type at index " + (index + 1) +
|
||||||
" , valid types are: " + validTypes(requiredChannelTypes));
|
" , valid types are: " + validTypes(requiredChannelTypes));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -276,7 +276,7 @@ public class MessageCommandContext extends CommandContext {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
invalidateContext(data, "provided argument is not a valid channel.");
|
invalidateContext(data, "provided argument at position " + (index + 1) + " is not a valid channel.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IndexOutOfBoundsException e) {
|
} catch (IndexOutOfBoundsException e) {
|
||||||
@@ -285,7 +285,7 @@ public class MessageCommandContext extends CommandContext {
|
|||||||
throw new IllegalArgumentException("Required option " + data.getName() + " was not found at index " + index);
|
throw new IllegalArgumentException("Required option " + data.getName() + " was not found at index " + index);
|
||||||
}
|
}
|
||||||
} catch (NumberFormatException ignored) {
|
} catch (NumberFormatException ignored) {
|
||||||
invalidateContext(data, "the argument provided was not a number.");
|
invalidateContext(data, "the argument provided is not a number.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
|
|||||||
Reference in new issue
Block a user