为什么我的Twitch IRC Bot没有连接?

时间:2014-12-23 10:01:39

标签: bots irc twitch

因此,为了体验,我决定尝试编写一个抽搐的IRC机器人。到目前为止,我已经学到了很多,但现在我遇到了障碍,似乎无法让机器人连接。

我有一个IRC客户端,可以连接到twitch irc罚款,虽然我不能ping irc.twitch.tv 我的机器人使用PircBotX框架作为它的基础,到目前为止,它应该做的只是连接到服务器,但事实并非如此。我在eclipse中完成了所有设置,一切看起来都不错,但机器人从未真正连接过。它尝试并尝试但似乎永远不会通过。

我不确定为什么它不起作用。我也端口转发端口,以防它在路由器上需要它但没有运气。 当我在eclipse中运行bot时,它开始尝试连接然后停止运行。

我一直在拼凑pircbotx的文档,这个机器人代码:https://github.com/MattsMc/MankiniBot和我发现的这个youtube系列:https://www.youtube.com/watch?v=a1WDUKI5-PI。你能提供的任何帮助都会令人惊叹。感谢。

P.S:我更改了OAUTH代码,因此无需担心:)

基本上这是我的代码:

package firedingo.project.bot;



import com.google.common.collect.*;
import com.google.guava.*;
import org.pircbotx.Configuration;
import org.pircbotx.PircBotX;


public class TheDingoPack {
	private int count;
	
	//starting config again in case config derp is issue, will need clean up HERE
	Configuration<PircBotX> Config = new Configuration.Builder<PircBotX>()
			.setServerPassword(firedingo.project.bot.reference.Reference.OAUTH)
			.setName(firedingo.project.bot.reference.Reference.NICK)
			.setLogin(firedingo.project.bot.reference.Reference.NICK)
			.setAutoNickChange(true)
			.setServerHostname(firedingo.project.bot.reference.Reference.HOST)
			.setServerPort(firedingo.project.bot.reference.Reference.PORT)
			
			.addAutoJoinChannel(firedingo.project.bot.reference.Reference.BOTCHAN)
			.buildConfiguration();
	
	//Constructor to actually create the bot
	public TheDingoPack() {
		PircBotX TheDingoPack = new PircBotX(Config);
	try {
		TheDingoPack.startBot();
		System.out.println("Attempting To Connect");
	}
	catch(Exception e) {
		System.out.println("Connection Failed - Error Thrown");
	}

	
}
	//realized constructor needed a call so added it here. Nearly derped :P
	 public static void main(String[] args) {
		 new TheDingoPack();
	 }
}

package firedingo.project.bot.reference;

public class Reference {

	//Connection Details As Constants For Easy Customizability
	public static final String NICK = "thedingopack";
	public static final String HOST = "irc.twitch.tv";
	public static final String OAUTH = "6lw8eg2zw81pmpj09kbr9pa62d006f";
	public static final int PORT = 6667;
	//these two channels can be changed as necessary, extras can also be added.
	public static final String BOTCHAN = "#thedingopack";
	public static final String MODCHAN = "#firedingo99365";
	
	 

}

2 个答案:

答案 0 :(得分:0)

我试着在这里回答你的问题,但Stack Overflow只会让我发布两个链接,所以这里有它的缺点......

我将您的代码复制/粘贴到我的环境中,替换为我的bot统计数据并运行它,我没有遇到任何问题。这导致我选择两个选项之一...

一个。您没有机器人帐户(我发现这不太可能,因为您有OAuth代码)

B中。您的环境设置不正确,您是否将download page上的额外软件包添加到项目中?

如果不是,你不知道怎么做,或者你只是想知道要添加的.jars究竟是什么。(因为几个包有很多无意义的包),我做了一个关于如何设置它的教程。你可以找到它here

答案 1 :(得分:0)

我记得你需要把完整的誓言代码如此

public static final String OAUTH = "oath:6lw8eg2zw81pmpj09kbr9pa62d006f";