2015-08-01 3 views
2

Мы хотим, чтобы все поля из этой ссылки (http://xmpp.org/extensions/xep-0045.html#roomconfig) для этого разделаКак получить все поля из ejabberd из модуля MUC?

Примера 165. Service Посылает форму конфигурации Владелец

В описании он показывает все поля, но мы не получает все поля из ejabberd как:

<field label='Roles and Affiliations that May Retrieve Member List' type='list-multi' var='muc#roomconfig_getmemberlist'> 

Мы хотим получить muc#roomconfig_getmemberlist, но он не получает от ejabberd.

Какую конфигурацию нам нужно изменить, чтобы получить все поле, как указано выше?

ответ

1

ejabberd возвращает все поле, которое оно поддерживает. В настоящий момент ejabberd не поддерживает изменение членства пользователей, которым разрешено извлекать список членов. Предполагается, что администратор MUC, владелец комнаты и члены могут получить список участников.

Сообщалось, что даже если у вас нет этого поля в форме конфигурации, ejabberd поддерживает управление списком членов. Вы можете получить список участников от пользователя с соответствующими полномочиями, отправив запрос:

<iq type="get" to="[email protected]" id="aac1a"> 
<query xmlns="http://jabber.org/protocol/muc#admin"> 
    <item affiliation="member"/> 
</query> 
</iq> 

Вы получите ответ в виде:

<iq from="[email protected]" type="result" id="aae0a"> 
<query xmlns="http://jabber.org/protocol/muc#admin"> 
    <item affiliation="member" jid="[email protected]"/> 
</query> 
</iq> 
+0

Я получаю проблемы при получении списка участников как член, но не владелец или администратор. Мы используем тот же код, что и выше. Я получаю «запретную» ошибку, когда пытаюсь получить список членов чата только для членов, хотя я являюсь участником чата. –

+1

Вы должны создать другой конкретный вопрос. Я просто попробовал на ejabberd 15.07 отправить пакет запроса участника, который я показал (не владелец или админ), и работает, как описано. Вы уверены, что комната MUC устойчива? Конечно, если не постоянный, список членов опустеет, когда последний пользователь уходит, потому что комната уничтожается, когда последний пользователь уходит. –

+1

Я не говорю, что ваша проблема будет решена путем обновления. Просто говорю, что он работает в моем тесте, поэтому у вас может быть другая проблема, совершенно не связанная с вашим исходным вопросом. Эта страница загрузки для ejabberd включает двоичный установщик и пакеты: https://www.process-one.net/en/ejabberd/downloads/ –