4

Is there a way to get all nicknames of a MUC Room with an ejabberd server?

I'm trying with:

<iq from='crone1@shakespeare.lit/desktop'
  id='member3'
  to='coven@chat.shakespeare.lit'
  type='get'>
  <query xmlns='http://jabber.org/protocol/muc#admin'>
   <item affiliation='member'/>
  </query>
</iq>

but I obtain only jid without nicknames:

<iq from='coven@chat.shakespeare.lit'
  id='member3'
  to='crone1@shakespeare.lit/desktop'
  type='result'>
  <query xmlns='http://jabber.org/protocol/muc#admin'>
    <item affiliation='member'
      jid='hag66@shakespeare.lit'
      role='participant'/>
  </query>
</iq>
4

1 回答 1

1

On 6.5发送时从XEP 0045中查询 Room Item

<iq from='$user-name@$user-server/$user-resorce'
    id='someid'
    to='$chat-room-to-query@$chatserver'
    type='get'>
  <query xmlns='http://jabber.org/protocol/disco#items'/>
</iq> 

您有以下描述

如果该信息是公开的,则实现可以返回现有居住者的列表,或者如果该信息保持私有,则根本不返回列表。(强调我的)

如果房间是公开的,你会得到

<iq from='$chat-room-to-query@$chatserver'
    id='someid'
    to='$user-name@$user-server/$user-resorce'
    type='result'>
  <query xmlns='http://jabber.org/protocol/disco#items'>
    <item jid='$chat-room-to-query@$chatserver/$firstnick'/>
    <item jid='$chat-room-to-query@$chatserver/$secondnick'/>
    <...>
  </query>
</iq>

据我所知,ejabberd 正确地实现了这一点。

于 2013-06-17T14:45:35.723 回答