Така че реших да опитам да напиша twitch IRC бот само в името на опита. Досега научих много, но сега попаднах на препятствие и изглежда не мога да накарам бота да се свърже.
Имам IRC клиент, който може да се свърже с twitch irc добре, въпреки че не мога да пингвам irc.twitch.tv Моят бот използва рамката PircBotX като своя основа и досега всичко, което трябва да направи, е да се свърже със сървъра, но не T. Настроих всичко в eclipse и всичко изглежда наред, но ботът всъщност никога не се свързва. То се опитва и опитва, но изглежда така и не успява.
Не съм сигурен защо не работи. Също така пренасочих порта само в случай, че има нужда от това на рутера, но без успех. Когато стартирам бота в eclipse, той започва да се опитва да се свърже, след което спира да работи.
Сглобявах нещата от документацията на 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";
}