pIRCbot няма да се присъедини към канала на Twitch или да изпраща съобщения

Следният код се свързва успешно с IRC на Twitch и задейства метода onConnect, където всичко спира. Тъй като pIRCbot е активирал verbose, виждам, че изпраща JOIN #twitchplayspokemon след свързване, но спецификацията казва, че трябва да получа незабавен отговор със същия текст, последван от списък с потребители (което ще задейства методите onJoin и onUserList), което не случи се.

Също така се опитах да се свържа с моя канал и да изпратя съобщение с
joinChannel("#[mychannelname]"); sendMessage("#[mychannelname]", "Hello World");
Всичко, което прави, е да изпрати две команди JOIN и никога не се присъединява, нито съобщение се появява в чата.

Урокът/препратката, която използвам, е http://help.twitch.tv/customer/portal/articles/1302780-twitch-irc

Други отговори също не се извеждат. Получавам MOTD, но не виждам командата „Край на /MOTD“.

import org.jibble.pircbot.*;

public class MyBotMain extends PircBot {

    public static void main(String[] args) throws Exception {

        MyBotMain bot = new MyBotMain();

        bot.setVerbose(true);

        bot.setName("[myname]");
        bot.setLogin("[myname]");

        try {
            bot.connect("irc.twitch.tv", 6667, "oauth:db4aai4mh474ikbgzzuh76fv67n"); // Not the key I'm using
        } catch (NickAlreadyInUseException e) {
            System.err.println("Nickname is currently in use");
        } catch (IrcException e) {
            System.err.println("Server did not accept connection");
            e.printStackTrace();
        }
    }

    @Override
    protected void onConnect() {
        System.out.println("Connected!");
        joinChannel("#witchplayspokemon");
        super.onConnect();
    }

    @Override
    protected void onJoin(String channel, String sender, String login, String hostname) {
        System.out.println(login + " joined channel " + channel);
        super.onJoin(channel, sender, login, hostname);
    }

    @Override
    protected void onUserList(String channel, User[] users) {
        for (User user : users) {
            System.out.println(user);
        }
        super.onUserList(channel, users);
    }
}

person Lee Fogg    schedule 23.03.2015    source източник


Отговори (1)


Вашият код работи перфектно, единственият проблем е, че каналът, към който се опитвате да се присъедините, е „witchplayspokemon“ вместо „twitchplayspokemon“. onUserList(String channel, User[] users) ми дава само един потребител, но имам този проблем наскоро на моя собствен бот, така че все още не съм сигурен за причината.

person Justalilbitnerdy    schedule 22.06.2015
comment
Току-що прочетох, че за e3 twitch е деактивирал списъка с потребители/частите за присъединяване на техните IRC сървъри за чат, така че onUserList(Канал за низ, Потребител [] потребители) няма да работи, докато не го добавят отново. - person Justalilbitnerdy; 22.06.2015