У меня есть собственный сервер ejabberd (v14.07) с включенными mod_muc
и mod_muc_admin
.
Я пытаюсь создать конференц-зал, чтобы некоторые пользователи могли общаться через общий мультичат.
Каждый клиент использует AstraChat или ChatSecure приложения.
Вот команды терминала создания комнаты, которые я использую для создания конференц-зала.
# room creation
ejabberdctl create_room myroomname conference.$host $host
# sending invitations to users
ejabberdctl send_direct_invitation myroomname@conference.$host none "Join the multi-chat" user1
ejabberdctl send_direct_invitation myroomname@conference.$host none "Join the multi-chat" user2
ejabberdctl send_direct_invitation myroomname@conference.$host none "Join the multi-chat" user3
# setting room affiliations (is it required to the users to join the chat before?)
ejabberdctl set_room_affiliation myroomname conference.$host user1 owner
ejabberdctl set_room_affiliation myroomname conference.$host user2 member
ejabberdctl set_room_affiliation myroomname conference.$host user3 member
После этого у меня создана комната (также видимая в веб-интерфейсе ejabberd). Тем не менее, никаких уведомлений или отзывов пользователям не предоставляется. Более того, если я запускаю:
ejabberdctl get_room_occupants myroomname conference.$host
результат пустой (также подтверждается веб-интерфейсом ejabberd, показывающим 0 участников в выбранных комнатах).
Он следует за фрагментом конфигурации ejabberd.yml
для mod_muc
.
mod_muc:
## host: "conference.@HOST@"
access: muc_access
access_create: muc_admin
default_room_options:
public: true
public_list: true
allow_change_subj: true
allow_query_users: true
allow_private_messages: true
allow_user_invites: true
members_by_default: true
title: "New chatroom"
anonymous: false
access_admin: muc_admin
Как заставить работать уведомление о присоединении к комнате и участии пользователей?