Vitor Miranda
Vitor Miranda

Reputation: 135

How to fetch private room list using ejabberd (using their API and/or using XML)?

I know I can retrieve a list of public rooms from my server using:

<iq from='[email protected]/pda'
    id='zb8q41f4'
    to='chat.shakespeare.lit'
    type='get'>
  <query xmlns='http://jabber.org/protocol/disco#items'/>
</iq>

XEP-0045 - Discovering Rooms

However, I need a list of all rooms, regardless whether is public or private, and if is online of not.

Any suggestions, specially through XML?

Upvotes: 1

Views: 551

Answers (2)

Aminul Islam Sojol
Aminul Islam Sojol

Reputation: 41

If you are using Muc-Sub, then in ejabberd 21.04 there is a new api /api/get_user_subscriptions to get all the subscribed rooms list of a user. You can see Api Documentation

Upvotes: 0

Badlop
Badlop

Reputation: 4120

They are not public. I know that using that code above I'm not supposed to retrieve that list. What i need is a way to retrieve the private ones.

When a MUC admin requests the list of rooms, he gets all the rooms, including the private ones.

You can also get the full list of rooms with this ejabberd command:

$ ejabberdctl muc_online_rooms muc.localhost
[email protected]
[email protected]
[email protected]
[email protected]

Those commands can be executed with XML-RPC or ReST calls if you enable the corresponding modules.

Upvotes: 1

Related Questions