2016-05-19 11 views
1

Doing ein Twitchbot als ein kleines Hobby-Projekt und stolpern om ein kleines Problem. Ich möchte eine Zuschauerliste erstellen, die automatisch angezeigt wird, wenn Zuschauer meinen Kanal betreten. Das Problem, das ich habe, ist, dass die Liste, die abgerufen wird, nur den Bot zeigt. Ich habe die Javadocs gelesen und dachte, dass ich alles richtig gemacht habe, aber ich kann es einfach nicht zum Laufen bringen.Pircbot, Probleme beim Abrufen einer vollständigen userList

Wenn also der Bot mit einem Server verbunden wird, wird die onuserlist() -Methode aufgerufen und ruft eine Benutzerliste ab, aber der einzige Benutzer ist der Bot. Selbst wenn ich 5, 10, 100 Leute in meinem Kanal habe.

@Override 
    protected void onUserList(String channel, User[] users) { 

     for (User user1 : users) { 
      System.out.println(user1); 
      model.addElement(user1.getNick()); 
     } 
     super.onUserList(channel, users); 

    } 

Die OnJoin() Methode sollte die Benutzerliste mit dem folgenden Code aktualisieren und es wird jedesmal, wenn jemand verbindet genannt. Aber auch hier ist es das gleiche Problem, der einzige Benutzer, den es finden kann, ist der Bot. Ich frage mich, ob jemand ein besseres Wissen über Pircbots hat und weiß, was ich falsch machen könnte?

User[] user=bot.getUsers("#mychannel"); 
     for(int i =0; i<user.length;i++){ 
      System.out.println(user[i]); 
    } 

Nach dem Java-doc sollte es geben Sie mir eine User-Array aller Menschen in meinem Kanal, aber es gibt nur mich ein.

http://www.jibble.org/javadocs/pircbot/

Antwort

0
User[] user=bot.getUsers("#mychannel"); 
    for (User usr : user){ 
     System.out.println(usr.toString()); 
    } 
} 
+0

nahm ich dein Beispiel und klebte es in meinen Code und es funktioniert perfekt. Nachdem sich Ihr Bot angemeldet hat, überprüfen Sie die Benutzerliste des Raums, in dem Sie sich anmelden, mit einem anderen IRC-Client. Stellen Sie sicher, dass Sie Ihren Bot-Namen in der Benutzerliste sehen. Möglicherweise melden Sie sich in einem Raum an, in dem sich niemand befindet. – Tim

0

So dachte nur ich dieses Problem heute aus, wenn Sie das verwenden join/part System benötigen Sie Erlaubnis vom Server anzufordern, wenn Sie

bot_Object.sendRawLine("CAP REQ :twitch.tv/membership"); 

mit connect Dadurch kann Twitch wissen, dass Sie die Join/Part-Funktionen verwenden möchten.

Wenn Sie mehr wissen möchten, hier ist ihre Hilfe Anleitung zum Einrichten verschiedener IRC-Clients, ich habe nur den Befehl für die Erlaubnis gezogen und verwendet es in meinem Bot.

http://help.twitch.tv/customer/portal/articles/1302780-twitch-irc

Verwandte Themen