PircBot API Java字符串拆分问题
我需要一些关于管理员阵列之类的帮助。我正在使用这个API来创建一个服务器bot。您可以在那里找到所有的类、构造函数和方法 以下是我当前的代码: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
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]);
}
}