因此,为了体验,我决定尝试编写一个抽搐的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";
}
答案 0 :(得分:0)
我试着在这里回答你的问题,但Stack Overflow只会让我发布两个链接,所以这里有它的缺点......
我将您的代码复制/粘贴到我的环境中,替换为我的bot统计数据并运行它,我没有遇到任何问题。这导致我选择两个选项之一...
一个。您没有机器人帐户(我发现这不太可能,因为您有OAuth代码)
B中。您的环境设置不正确,您是否将download page上的额外软件包添加到项目中?
如果不是,你不知道怎么做,或者你只是想知道要添加的.jars究竟是什么。(因为几个包有很多无意义的包),我做了一个关于如何设置它的教程。你可以找到它here。
答案 1 :(得分:0)
我记得你需要把完整的誓言代码如此
public static final String OAUTH = "oath:6lw8eg2zw81pmpj09kbr9pa62d006f";