Java 我的Twitch机器人(使用Pircbot)不';I don’我不能保持与频道的连接

Java 我的Twitch机器人(使用Pircbot)不';I don’我不能保持与频道的连接,java,irc,Java,Irc,我正在尝试创建一个twitch机器人,我要做的第一件事就是回复聊天信息。但是,当机器人连接到聊天室时,它似乎无法保持连接。它可以发送聊天信息,但不接收 这是代码,如果你想看的话。我觉得我错过了一些我应该记住的基本的东西,所以如果你能弄清楚我想知道的是什么 package me.acezephyr.lavabot; import java.io.IOException; import org.jibble.pircbot.IrcException; import org.jibble.pirc

我正在尝试创建一个twitch机器人,我要做的第一件事就是回复聊天信息。但是,当机器人连接到聊天室时,它似乎无法保持连接。它可以发送聊天信息,但不接收

这是代码,如果你想看的话。我觉得我错过了一些我应该记住的基本的东西,所以如果你能弄清楚我想知道的是什么

package me.acezephyr.lavabot;

import java.io.IOException;

import org.jibble.pircbot.IrcException;
import org.jibble.pircbot.NickAlreadyInUseException;
import org.jibble.pircbot.PircBot;

public class LavaStreamBot extends PircBot {

private static LavaStreamBot INSTANCE = new LavaStreamBot();

public static void main(String[] args) {
    INSTANCE.setVerbose(true);
    INSTANCE.setName("LavaStreamBot");
    try {
        INSTANCE.connect("irc.twitch.tv", 6667,
                "oauth:******************************");
    } catch (NickAlreadyInUseException e) {
        System.err
                .println("Tried to join Twitch server, but someone else online already has the nick LavaStreamBot.");
    } catch (IOException e) {
        e.printStackTrace();
    } catch (IrcException e) {
        e.printStackTrace();
    }
    join("#AceLava");
}

public static void join(String channel) {
    INSTANCE.joinChannel(channel);
    INSTANCE.sendMessage(channel, "LavaStreamBot is now in this channel.");
}

@Override
public void onConnect() {
    System.out.println("Connected to server");
    super.onConnect();
}

@Override
public void onMessage(String channel, String sender, String login, String hostname, String message){
    System.out.println("Got a message!");
    super.onMessage(channel, sender, login, hostname, message);
}

}

您用大写字母书写了频道名称(“AceLava”)。在IRC中,这是一个不同于#acelava的通道-Twitch始终使用所有小写字母处理通道。只要改变一下,你就会没事的

与问题无关,但您可能想知道twitch很快将改变其后台消息服务的事实™ 而且它不会通过IRC完成,因此您必须相应地更改您的机器人(以及我必须执行><)


要了解更多信息并了解最新情况,visit

Twitch使用了一个非常非常不正常(读:坏掉)的IRCd实现。显然,IRC从来都不打算支持50多万人的聊天室。当Twitch忽略了IRC客户端通常希望接收的大量信息时,PIRCBot很可能无法正常工作。哇。就这样。我还以为是那样的愚蠢。AceLava的用户名有大写字母,所以我想我应该这样写频道名。哈哈,不用担心。如果您对twitch机器人还有任何疑问,请随时发邮件至stackoverflow@marenthyu.deOh请相应地标记我的答案,因为它有帮助^_^