1

私は ejabberd (v14.07) セルフホスト サーバーを持っており、両方mod_mucmod_muc_admin有効になっています。
一部のユーザーが共通のマルチチャットを通じて通信できるように、会議室を作成しようとしています。
各クライアントは、AstraChatまたはChatSecureアプリを使用します。

ここに、私が会議室を作成するために使用している create room terminal コマンドがあります。

# 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 に答える