我有一小段 Java 代码,它首先检查您在 IRC 命令中输入的参数是否存在,然后再选择要运行的代码段。我正在通过 PircBotX 收听命令,下面描述的命令是一个命令,它基本上要么列出服务器上的所有人员,要么通过 command 列出频道中的所有人员:? list (all)
。
if ( argments[1].equalsIgnoreCase( "list" ) ) {
CyniChat.printDebug( "Listing chosen..." );
if ( argments[2] != null && argments[2].equalsIgnoreCase( "all" ) ) {
CyniChat.printDebug( "You've either got 'all' as parameter..." );
CyniChat.printDebug( event.getUser().getNick()+" : "+thisChan.getName() );
ircResponses.listOutput( event.getUser(), event.getBot(), thisChan.getName(), true );
return;
} else {
CyniChat.printDebug( "Or you don't...." );
CyniChat.printDebug( event.getUser().getNick()+" : "+thisChan.getName() );
ircResponses.listOutput( event.getUser(), event.getBot(), thisChan.getName(), false );
return;
}
}
现在,这个语句的奇怪之处在于,虽然第一个调试语句被执行,所以控制台输出“Listing selected...”,这是它唯一输出的东西。:? list
每当我在 IRC 中运行时,都不会执行其他任何调试语句。然而,当我运行时:? list all
,一切似乎都运行良好,语句按正常方式执行。
很可能,我可能只是在某个地方犯了一个非常小的逻辑错误,我发现它是不可能发现的。如果有人对如何解决这种情况有任何想法,我们将不胜感激。
谢谢。