【发布时间】:2016-04-07 14:55:41
【问题描述】:
我正在制作一个用于练习的 IRC 机器人,但被卡住了。我使用 PircBot 库作为基础。
我有一个问题,我可以按如下方式向频道发送消息:
public void onMessage(String channel, String sender,
String login, String hostname, String message){
if(message.equalsIgnoreCase("hello")){
sendMessage(channel, "Hello "+sender);
}
}
这是在普通的“机器人”类中并且有效。 但这很快就会变得一团糟,所以我创建了两个类来解决这个问题。它们被称为:
public void onMessage(String channel, String sender, String message) {`
MessageHandler mh = new MessageHandler();
CommandHandler ch = new CommandHandler();
if (message.startsWith("+")){
ch.commandQuery(channel, sender, message);
}
else{mh.messageRespondQuery(channel, sender, message);
}
}
这也可以正常工作。但是,如果我尝试在子类中发送消息,例如
if (message.contains("test")){
sendMessage("test successful");
}
它根本不发送消息。即使我将 sendMessage() 方法“嵌套”在“bot”类的另一个方法中,它也不起作用。仅在 onMessage() 方法内部。我调试了它,它正确地移动到任何地方,除了它不发送消息。同样的问题也适用于 sendRawLine() 方法。
有 IRC/pircbot 知识的人可以帮助我吗?
【问题讨论】:
标签: java subclass irc sendmessage pircbot