http://www.perlmonks.org?node_id=1002257


in reply to Re: How to get online users with Net::Jabber
in thread How to get online users with Net::Jabber

There are two ways mentioned in "Programming Jabber" sending an iq to jabber admin with just the server name and using the browse capability.

The admin capability is listed as legacy in the book and indicates browse is the way to go. The documentation for Net::Jabber lists browse capability as deprecated and points to the disco functionality.

Unfortunately I can't find any real documentation for disco. There seems to be some spec stuff but it uses terms like "node" without defining them. It seems to be some sort of tree of objects but the tree itself isn't documented under what I've read.

I've tried using the browse functions using just a jid but that doesn't seem to work. I've tried just the server as jid as indicated in the text of the book and server/admin as indicated in the actual code listing.

browsing entities covers using the browse function for this purpose. My expectation would be that assigning the return value of the browse function called with a jid of the server or maybe server/admin would return the online user list

There might be more to it. For instance I discovered that you needed to initialize a local presence DB and manually use a callback to update it with presence updates before you can query it. None of that was documented. The Net::Jabber module documentation is extremely sketchy and incomplete

  • Comment on Re^2: How to get online users with Net::Jabber