获取会员MUC Room的昵称 [英] Get members nickname of MUC Room

查看:106
本文介绍了获取会员MUC Room的昵称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以通过ejabberd服务器获取MUC Room的所有昵称?

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

我正在尝试:

<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>

但是我只获得没有昵称的jid:

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>

推荐答案

6.5发送

On 6.5 Querying for Room Items from XEP 0045 when you send

<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> 

您具有以下描述

实现 MAY (如果该信息是公开可用的)将返回现有居住者的列表,或者如果此信息被保密,则根本不返回任何列表.(强调我的)

An implementation MAY return a list of existing occupants if that information is publicly available, or return no list at all if this information is kept private.(emphasis mine)

如果房间是公共房间,您会得到

if the room is public them you get

<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正确地实现了这一点.

From my knowledge ejabberd implements this correctly.

这篇关于获取会员MUC Room的昵称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆