Java 我的机器人没有';我不接受mod的字符串数组。有人知道它有什么问题吗?
当“the_pvbro”想要在聊天中键入命令时,机器人不允许他使用该命令。我太懒了,不能为我添加的每个新模块创建一个新类。 那么,有没有人知道如何做不同的事情呢Java 我的机器人没有';我不接受mod的字符串数组。有人知道它有什么问题吗?,java,command,irc,twitch,pircbot,Java,Command,Irc,Twitch,Pircbot,当“the_pvbro”想要在聊天中键入命令时,机器人不允许他使用该命令。我太懒了,不能为我添加的每个新模块创建一个新类。 那么,有没有人知道如何做不同的事情呢 import org.jibble.pircbot.*; 公共类TwitchBot扩展了PircBot{ public TwitchBot(){ this.setName("rayibot"); this.isConnected(); } String owner = "skalrayi"; String mod
import org.jibble.pircbot.*;
公共类TwitchBot扩展了PircBot{
public TwitchBot(){
this.setName("rayibot");
this.isConnected();
}
String owner = "skalrayi";
String mod [] = new String[3];{
mod[0] = "the_pvbro";
}
public void onMessage(String channel, String sender, String login, String hostname, String message){
if(message.equalsIgnoreCase("!spiel")){
sendMessage(channel, "Aktuell wird " + Config.currentGame + " gespielt.");
}
else
if(message.equalsIgnoreCase("!song")){
sendMessage(channel, "Aktueller Song:" );
}
else
if(message.equalsIgnoreCase("!hallo")){
sendMessage(channel, "Hallo wie geht es dir denn heute so " +sender);
}
else
if(message.startsWith("!kick")){
if(sender.equals(owner) || sender.equals(mod))
{
String userToKick = message.split(" ")[1];
kick(channel, userToKick );
sendMessage(channel, ".timeout " +userToKick + " 60");
sendMessage(channel, userToKick +" wurde aus dem Channel gekickt!");
}
else{
sendMessage(channel, "Deine Rechte reichen nicht aus, um diesen Befehl zu benutzen! " + sender);
}
}
if (message.startsWith("!ban")) {
if(sender.equals(owner)|| sender.equals(mod))
{
String userToBan = message.split(" ")[1];
ban(channel, userToBan);
sendMessage(channel, ".ban " + userToBan);
sendMessage(channel, userToBan + " wurde aus dem Channel verbannt!");
}
else{
sendMessage(channel, "Deine Rechte reichen nicht aus, um diesen Befehl zu benutzen! " + sender );
}
}
}
}
现在,您正在将
字符串
发送方与mod数组进行比较。这将始终返回false
,因为字符串不是数组。您要做的是检查mod数组是否包含发送方字符串
我要做的是通过替换以下内容使用列表而不是数组:
String mod [] = new String[3];{
mod[0] = "the_pvbro";
}
sender.equals(mod)
与
与
这样,当您获得更多mod时,您可以将它们添加到Arrays.asList()
的参数中,即:
List<String> mod = Arrays.asList(
"the_pvbro",
"mod2",
"mod3");
List mod=Arrays.asList(
“the_pvbro”,
“mod2”,
“mod3”);
谢谢回答和解释。现在一切都很好,Skalayi没有问题。如果你觉得我已经回答了你的问题,请考虑在投票按钮下点击复选标记:
mod.contains(sender);
List<String> mod = Arrays.asList(
"the_pvbro",
"mod2",
"mod3");