pIRCbot无法加入Twitch频道或发送消息

时间:2015-03-23 18:22:51

标签: java sockets bots irc twitch

以下代码成功连接到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);
    }
}

1 个答案:

答案 0 :(得分:0)

你的代码完美无缺,唯一的问题是你想要加入的频道是" witchplayspokemon"而不是" twitchplayspokemon" onUserList(String channel,User []用户)只给我一个用户,但我最近在自己的Bot上遇到了这个问题所以我还不确定原因。