我有一个基于Strophe的Web XMPP客户端,该客户端连接到Openfire服务器的私有实例.
连接到XMPP服务器后,我得到所有公共房间列表.
现在,我需要一种无需输入房间即可检索这些房间的信息的方法.
特别是,我需要当前的参与者人数,并最终需要他们的名单.
解决方法:
您可以向MUC会议室发送一个disco#items查询,以检索当前居住者的列表,请参阅XEP-0045 §6.5.
用户hag66@shakespeare.lit/pda向会议室coven@chat.shakespeare.lit查询参与者列表:
<iq from='hag66@shakespeare.lit/pda'
id='kl2fax27'
to='coven@chat.shakespeare.lit'
type='get'>
<query xmlns='http://jabber.org/protocol/disco#items'/>
</iq>
房间回应:
<iq from='coven@chat.shakespeare.lit'
id='kl2fax27'
to='hag66@shakespeare.lit/pda'
type='result'>
<query xmlns='http://jabber.org/protocol/disco#items'>
<item jid='coven@chat.shakespeare.lit/firstwitch'/>
<item jid='coven@chat.shakespeare.lit/secondwitch'/>
</query>
</iq>
如果此信息是私有的,则服务器可能拒绝回答.