2016-05-19 47 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()方法應該更新與下面的代碼段的用戶列表,它被稱爲每次有人加入。但即使在這裏,它也是同樣的問題,它可以找到的唯一用戶就是機器人。我想知道是否有人對pircbots有了更好的瞭解,並知道我可能會做錯什麼?

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

根據java文檔它應該給我一個用戶數組的所有人在我的頻道,但它只給了我一個。

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"); 

這讓Twitch知道你想要使用Join/Part功能。

如果你想知道更多,這裏是他們的幫助指南,設置不同的IRC客戶端,我只是拉取命令的權限,並在我的機器人使用它。

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