Прямо сейчас в вашем коде вы используете только equalsIgnoreCase. Этот метод требует, чтобы обе строки полностью соответствовали регистру.Поэтому причина, по которой «! Ban user» не будет работать, заключается в следующем:
"!ban".equalsIgnoreCase("!bAn") == true
"!ban".equalsIgnoreCase("!BaN") == true
, но
"!ban".equalsIgnoreCase("!ban username") == false
"!ban".equalsIgnoreCase("!ban ") == false
Этот следующий фрагмент кода даст вам возможность запретить людейнабрав "! ban username".Однако он будет чувствителен к регистру.
if (message.startsWith("!ban")) {
if(sender.equals(owner))
{
String userToBan = message.split(" ")[1];
ban(channel, userToBan);
sendMessage(channel, "Banned " + userToBan);
}
else
{
kick(channel, sender);
sendMessage(channel, "You aren't my mother!");
}
}
Если вы не хотите, чтобы он просто разбивал входящую команду на разделитель (обычно пробел), преобразовывал первую строку и сопоставлял их с equalsIgnoreCase.
String[] messageParts = string.split();
String command = messageParts[0];
if("!ban".equalsIgnoreCase(command){
ban(channel,messageParts[1])
if(messageParts[2].isEmpty()){
sendMessage(channel, "Banned " + messageParts[1]);
}else{
sendMessage(channel, "Banned " + messageParts[1] + " Reason: " + messageParts[2]);
}
}
Надеюсь, это поможет