以下代码成功连接到Twitch的IRC并触发onConnect方法,这是一切停止的地方。
因为pIRCbot已经启用了详细信息,所以我可以看到它在连接后发送JOIN #twitchplayspokemon
,但是规范说我应该使用相同的文本后跟一个用户列表(这将触发onJoin和onUserList方法)立即响应这不会发生。
我也尝试过连接到我的频道并发送一封信息
joinChannel("#[mychannelname]");
sendMessage("#[mychannelname]", "Hello World");
所有这一切都是发送两个JOIN命令,并且不会加入,也不会在聊天中显示消息。
我正在使用的教程/参考是http://help.twitch.tv/customer/portal/articles/1302780-twitch-irc
其他回复也未输出。我正在接收MOTD,但没有看到“/ MOTD命令结束”。
import org.jibble.pircbot.*;
public class MyBotMain extends PircBot {
public static void main(String[] args) throws Exception {
MyBotMain bot = new MyBotMain();
bot.setVerbose(true);
bot.setName("[myname]");
bot.setLogin("[myname]");
try {
bot.connect("irc.twitch.tv", 6667, "oauth:db4aai4mh474ikbgzzuh76fv67n"); // Not the key I'm using
} catch (NickAlreadyInUseException e) {
System.err.println("Nickname is currently in use");
} catch (IrcException e) {
System.err.println("Server did not accept connection");
e.printStackTrace();
}
}
@Override
protected void onConnect() {
System.out.println("Connected!");
joinChannel("#witchplayspokemon");
super.onConnect();
}
@Override
protected void onJoin(String channel, String sender, String login, String hostname) {
System.out.println(login + " joined channel " + channel);
super.onJoin(channel, sender, login, hostname);
}
@Override
protected void onUserList(String channel, User[] users) {
for (User user : users) {
System.out.println(user);
}
super.onUserList(channel, users);
}
}
答案 0 :(得分:0)
你的代码完美无缺,唯一的问题是你想要加入的频道是" witchplayspokemon"而不是" twitchplayspokemon" onUserList(String channel,User []用户)只给我一个用户,但我最近在自己的Bot上遇到了这个问题所以我还不确定原因。