Разрешения показывать список участников членам группы [используя ejabberd,xmpp,muc]
Я работаю над групповым чатом xmpp. Я могу создать группу, приглашение в чат и все остальное. когда я пытаюсь получить список участников, он показывает список участников только владельцу группы, но не членам группы.
вот мои правила доступа к MUC:
{access, muc_admin, [{allow, admin}]}.
{access, muc, [{allow, all}]}.
и мои конфигурации mod_muc:
{mod_muc, [
{host, "conference.@HOST@"},
{access, muc},
{access_create, muc},
{access_persistent, muc},
{access_admin,muc_admin},
{history_size, 80},
{max_users, 400},
{default_room_options,
[
{max_users, 400},
{allow_change_subj, true},
{allow_query_users, true},
{allow_private_messages, true},
{allow_user_invites, true},
{anonymous, true},
{logging, true},
{members_by_default, true},
{persistent, true},
{members_only, true},
{public_list, false}
]}
]},
я делаю что-то не так в своей конфигурации. Нужна помощь как можно скорее, заранее спасибо.
1 ответ
"Список участников MUC" - это административный список, он не является списком представленных в данный момент участников, администратор может добавить туда любого пользователя и назначить ему роль модератора или навсегда заблокировать, даже если этот пользователь никогда не трогал эту muc. Чтобы отобразить список реальных пользователей, вы должны отслеживать пакеты присутствия, которые вы получаете, когда пользователи присоединяются и выходят из комнаты.