2016-05-19 7 views
1

ちょっとした趣味のプロジェクトとしてtwitchbotをやって、ちょっとした問題をつまずく。 視聴者が自分のチャンネルに入ったときに自動的に表示される視聴者リストを作成したいと思います。私が得た問題は、検索されているリストにはボットしか表示されていないということです。私はjavadocsを読んでいると私はすべてを正しく行ったと思ったが、私はちょうどそれを動作させることはできません。Pircbot、完全なユーザーリストを取得する際の問題

ボットがサーバーに接続するときに、onuserlist()メソッドが呼び出され、ユーザーリストが取得されますが、取得するのはボットだけです。私のチャンネルに5,10,100人がいても。

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

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

    } 

onjoin()メソッドはuserlistを次のコードで更新する必要があり、誰かが参加するたびに呼び出されます。しかし、ここでも同じ問題です。ボットだけが見つかるはずです。私は誰かがpircbotsについてのより良い知識を持っていて、私が間違っているかもしれないことを知っているのだろうか?

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

Javaのドキュメントによると、それは私に私のチャンネル内のすべての人々のユーザーの配列を与える必要がありますが、それは私だけを1つずつ提供します。

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

答えて

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

私はあなたの例を取っ​​て、自分のコードにそれを貼り付け、それが完璧に動作します。あなたのボットがログインした後、別のIRCクライアントでログインしている部屋のユーザーリストを確認してください。ボット名がユーザーリストに表示されていることを確認してください。他の人がいない部屋にログインしている可能性があります。 – Tim

0

だから私はちょうどあなたが参加し/パート・システムを使用している場合、あなたは

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

を使用して接続する場合、サーバーからの許可を要求する必要があり、今日はこの問題を考え出しましたこれにより、Join/Part機能を使用することをTwitchが知ることができます。

もっと知りたいのなら、ここではさまざまなIRCクライアントを設定するためのヘルプガイドがあります。私は許可コマンドを取得してボットで使用しました。

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

関連する問題