PircBot API Java字符串拆分问题

PircBot API Java字符串拆分问题,java,api,irc,Java,Api,Irc,我需要一些关于管理员阵列之类的帮助。我正在使用这个API来创建一个服务器bot。您可以在那里找到所有的类、构造函数和方法 以下是我当前的代码: import org.jibble.pircbot.*; public class MyBot extends PircBot { public MyBot() { this.setName("DevilBot"); } String owner = "Evan"; public void onMes

我需要一些关于管理员阵列之类的帮助。我正在使用这个API来创建一个服务器bot。您可以在那里找到所有的类、构造函数和方法

以下是我当前的代码:

import org.jibble.pircbot.*;

public class MyBot extends PircBot {

    public MyBot() {
        this.setName("DevilBot");
    }

    String owner = "Evan";
    public void onMessage(String channel, String sender,
                       String login, String hostname, String message) {
        if (message.equalsIgnoreCase("!time")) {
            String time = new java.util.Date().toString();
            sendMessage(channel, sender + ": The time is now " + time);
        }
        if (message.equalsIgnoreCase("!owner")) {
            if(sender.equals(owner))
            {
                sendMessage(channel, Colors.NORMAL + "You're my owner silly!");
            }
            if (!sender.equals(owner))
            {
                sendMessage(channel, Colors.NORMAL + sender + ": " + owner + " is my owner!");
            }
        }
        if (message.equalsIgnoreCase("!ban")) {
            if(sender.equals(owner))
            {
                ban(channel, message);
                sendMessage(channel, "Banned " + message);
            }
            else
            {
                kick(channel, sender);
                sendMessage(channel, "You aren't my mother!");
            }
        }
        if (message.equalsIgnoreCase("!version")) {
            sendMessage(channel, "Version 0.1");
            sendMessage(channel, "PircBot API v1.5.0");
        }
        if (message.equalsIgnoreCase("!aelux")) {
            sendMessage(channel, "ALL HAIL AELUX!");
        }
        if (message.equalsIgnoreCase("!hates")){
            sendMessage(channel, message + ", " + sender + " hates you!");
        }
        if (message.equalsIgnoreCase("!op")){
            if(sender.equals(owner))
            {
                sendMessage(channel, "Opping " + message);
            }
            else
            {
                ban(channel, sender);
                kick(channel, sender);
                sendMessage(channel, "GTFO! Banned.");
            }
        }
    }
}
它编译和运行良好。它仍处于Alpha阶段,但由于某种原因它无法读取我的命令。比如: !踢用户 没有反应


该API快速且易于理解。如果你能帮我,那就太棒了

现在在代码中,您只使用equalsIgnoreCase 此方法要求两个字符串在大小写之外完全匹配。 这就是原因!禁止用户将无法工作是因为以下原因

"!ban".equalsIgnoreCase("!bAn") == true 
"!ban".equalsIgnoreCase("!BaN") == true 
但是

下面这段代码将导致您能够通过键入来禁止用户!禁止用户名。但是,它将区分大小写

     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]);
   }
}

希望这能有所帮助

我通过删除!从一开始就禁止,它运行得非常完美!谢谢你的回复!
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]);
   }
}