Skip to content

Commit

Permalink
Fixes the Case Sensitivity Bug (#10)
Browse files Browse the repository at this point in the history
* Fixes the case sensitivity problem and bump the version to 4.2.7

* Case sensitivity for argument handler

* Bump the case sensitivity line
  • Loading branch information
koply authored Feb 8, 2021
1 parent 119ec3f commit 1517c9b
Show file tree
Hide file tree
Showing 12 changed files with 21 additions and 27 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public class Main extends JDAIntegration {
.setPackage("com.example.mybot.commands") // command classes package path
.setPrefix("!")
.setReadBotMessages(false) // default false
.setCaseSensivity(Locale.getDefault()) // Locale to use case sensivity
.useCaseSensitivity() // case sensitivity in all commands
.setDataFile(dataFile) // data file for blacklist and prefix preservence
.setPluginsPath(new File("./plugins/")) // plugins folder for external plugins
.build();
Expand Down
2 changes: 1 addition & 1 deletion all/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>kcommando-root</artifactId>
<groupId>me.koply</groupId>
<version>4.2.6</version>
<version>4.2.7</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<artifactId>kcommando-root</artifactId>
<groupId>me.koply</groupId>
<version>4.2.6</version>
<version>4.2.7</version>
</parent>

<artifactId>core</artifactId>
Expand Down
12 changes: 5 additions & 7 deletions core/src/main/java/me/koply/kcommando/CommandHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutorService;
Expand Down Expand Up @@ -197,7 +194,7 @@ public void processCommand(final CProcessParameters<T> params) {

KCommando.logger.info(String.format("Command received | User: %s | Guild: %s | Command: %s", params.getAuthor().getName(), params.getGuildName(), commandRaw));

final String command = this.params.getCaseSensitivity().isPresent() ? cmdArgs[0] : cmdArgs[0].toLowerCase();
final String command = this.params.isCaseSensitivity() ? cmdArgs[0] : cmdArgs[0].toLowerCase(Locale.ROOT);

if (!containsCommand(command)) {
if (this.params.getIntegration().getSuggestionsCallback() != null) {
Expand Down Expand Up @@ -257,8 +254,9 @@ protected void _internalCaller(CommandToRun<T> ctr, T event, String[] args, Comm
Map<String, CommandToRun.MethodToRun> argumentMethods = ctr.getArgumentMethods();

if (args.length > 1) {
if (argumentMethods.containsKey(args[1])) {
CommandToRun.MethodToRun mtr = argumentMethods.get(args[1]);
String argument = this.params.isCaseSensitivity() ? args[1] : args[1].toLowerCase(Locale.ROOT);
if (argumentMethods.containsKey(argument)) {
CommandToRun.MethodToRun mtr = argumentMethods.get(argument);
this.argWrapper(mtr.getType(), mtr.getMethod(), ctr.getClazz(), event, onFalse, args, prefix);
return;

Expand Down
8 changes: 2 additions & 6 deletions core/src/main/java/me/koply/kcommando/KCommando.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public class KCommando<T> {

public Parameters<T> params = new Parameters<>();
public static final Logger logger = Logger.getLogger("KCommando");
public static final String VERSION = "4.2.6";
public static final String VERSION = "4.2.7";

public KCommando(final Integration<T> integration) {
params.setIntegration(integration);
Expand Down Expand Up @@ -75,11 +75,7 @@ public KCommando<T> setDataManager(DataManager<T> dataManager) {
}

public KCommando<T> useCaseSensitivity() {
return useCaseSensitivity(Locale.getDefault());
}

public KCommando<T> useCaseSensitivity(Locale locale) {
params.setCaseSensitivity(locale);
params.useCaseSensitivity();
return this;
}

Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/me/koply/kcommando/KInitializer.java
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ public void registerCommand(final Class<? extends Command> clazz, final Map<Stri
final CommandToRun<T> ctr = new CommandToRun<>(commandInstance, groupName, type, argumentMethods);

for (final String s : commandAnnotation.aliases()) {
final String name = params.getCaseSensitivity().map(s::toLowerCase).orElse(s);
final String name = params.isCaseSensitivity() ? s : s.toLowerCase(Locale.ROOT);
commandMethods.put(name, ctr);
}

Expand Down
10 changes: 5 additions & 5 deletions core/src/main/java/me/koply/kcommando/Parameters.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public final class Parameters<T> {

private boolean readBotMessages;

private Optional<Locale> caseSensitivity = Optional.empty();
private boolean useCaseSensitivity = false;
private Optional<DataManager<T>> dataManager = Optional.empty();

private File pluginsPath;
Expand Down Expand Up @@ -97,12 +97,12 @@ public final Parameters<T> setReadBotMessages(boolean readBotMessages) {
return this;
}

public final Optional<Locale> getCaseSensitivity() {
return caseSensitivity;
public final boolean isCaseSensitivity() {
return useCaseSensitivity;
}

public final Parameters<T> setCaseSensitivity(Locale caseSensitivity) {
this.caseSensitivity = Optional.of(caseSensitivity);
public final Parameters<T> useCaseSensitivity() {
this.useCaseSensitivity = true;
return this;
}

Expand Down
2 changes: 1 addition & 1 deletion internal/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<artifactId>kcommando-root</artifactId>
<groupId>me.koply</groupId>
<version>4.2.6</version>
<version>4.2.7</version>
</parent>

<artifactId>internal</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion javacord-integration/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<artifactId>kcommando-root</artifactId>
<groupId>me.koply</groupId>
<version>4.2.6</version>
<version>4.2.7</version>
</parent>

<artifactId>javacord-integration</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion jda-integration/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<artifactId>kcommando-root</artifactId>
<groupId>me.koply</groupId>
<version>4.2.6</version>
<version>4.2.7</version>
</parent>

<artifactId>jda-integration</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<artifactId>kcommando-root</artifactId>
<groupId>me.koply</groupId>
<version>4.2.6</version>
<version>4.2.7</version>
</parent>

<artifactId>plugin</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<groupId>me.koply</groupId>
<artifactId>kcommando-root</artifactId>
<packaging>pom</packaging>
<version>4.2.6</version>
<version>4.2.7</version>

<scm>
<connection>scm:git:git://github.com/MusaBrt/KCommando.git</connection>
Expand Down

0 comments on commit 1517c9b

Please sign in to comment.