1

我有一个 ejabberd (v14.07) 自托管服务器,两者都mod_muc启用mod_muc_admin了。
我正在尝试创建一个会议室,让一些用户通过共同的多聊天进行交流。
每个客户都使用AstraChatChatSecure应用程序。

这里有我用来创建会议室的创建房间终端命令。

# 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 的 Web 界面上也可以看到)。然而,没有向用户提供通知或反馈。此外,如果我运行:

ejabberdctl get_room_occupants myroomname conference.$host

结果是空的(也由 ejabberd 的 Web 界面确认,在选定的房间中显示 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

如何让房间加入通知和用户参与工作?

4

1 回答 1

1

您需要在命令下方运行获取从属关系,因为您有插入从属关系而不是占用者

ejabberdctl get_room_affiliations manish887 conference.192.168.32.18

@manish887 = room name

@conference.192.168.32.18 = muc_service
于 2017-03-01T08:06:11.270 回答