Как читать чат Twitch с помощью PircBotX?
Я пытаюсь читать сообщения с twitch-канала, используя PircBotX и Java, но что-то не работает должным образом.
TwitchBot.java:
import org.pircbotx.Configuration;
import org.pircbotx.PircBotX;
import org.pircbotx.cap.EnableCapHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TwitchBot {
private static Logger LOGGER = LoggerFactory.getLogger(TwitchBot.class);
public static void main(String[] args) throws Exception {
LOGGER.info("test");
Configuration configuration = new Configuration.Builder()
.setAutoNickChange(false)
.setOnJoinWhoEnabled(false)
.setCapEnabled(true)
.addCapHandler(new EnableCapHandler("twitch.tv/membership"))
.addServer("irc.chat.twitch.tv", 6697)
.setServerPassword("oauth:*oauth token here*")
.setName("*username here")
.addAutoJoinChannel("#*channel name here*")
.addListener(new TwitchChatListener())
.buildConfiguration();
PircBotX bot = new PircBotX(configuration);
bot.startBot();
}
}
TwitchChatListener.java:
import org.pircbotx.hooks.ListenerAdapter;
import org.pircbotx.hooks.events.MessageEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TwitchChatListener extends ListenerAdapter {
private static Logger LOGGER = LoggerFactory.getLogger(TwitchChatListener.class);
@Override
public void onMessage(MessageEvent event) {
System.out.println(event.getMessage());
LOGGER.info(event.getMessage());
/*if (event.getMessage().contains("test")) {
System.out.println("Success!");
}*/
}
}
Вывод консоли:
[main] INFO org.pircbotx.PircBotX - ---Starting Connect attempt 1/5---
[main] INFO org.pircbotx.PircBotX - Connected to server.
[main] INFO org.pircbotx.output.OutputRaw - pircbotx.output CAP LS
[main] INFO org.pircbotx.output.OutputRaw - pircbotx.output PASS oauth:*oauth token here*
[main] INFO org.pircbotx.output.OutputRaw - pircbotx.output NICK *username here*
[main] INFO org.pircbotx.output.OutputRaw - pircbotx.output USER PircBotX 8 * :PircBotX 2.2 Java IRC bot - github.com/thelq/pircbotx
Я цензурировал конфиденциальную информацию звездочками, но информация, которую я помещаю вместо них, должна быть действительной. Как вы можете видеть из сообщений консоли, кажется, что он успешно подключается к серверу, но не читает сообщения, которые я отправляю с помощью Chatterino (я не думаю, что могу получить доступ к чату канала в автономном режиме с самого веб-сайта Twitch). Я ожидаю, что код, который я написал, когда я отправляю любое сообщение, должен увидеть это, получить сообщение и вывести его на консоль, но этого не происходит. Я не уверен, где я ошибся, поскольку я новичок в использовании таких вещей, как IRC.
Если вам нужна дополнительная информация от меня, чтобы помочь мне, пожалуйста, дайте мне знать. Спасибо!