Gaurav Arora
Gaurav Arora

Reputation: 8362

Adding participants to XMPP chat rooms

I want to implement Group Chat in my application, for that purpose i am using MUC chat rooms to implement the same.

Here I want to add a list of members( i have the JID's) to the room. I want to add them internally to all the members in the list. How can i add them without inviting them.

And after adding the members i want to implement a functionality that whenever a user of the chat room messages or chat, it should be delivered to all the other users.

The main problem is how to add members to the chat room

code:

private void createRoom(){

        MultiUserChat privateRoom = new MultiUserChat(connection, "[email protected]");
        try {
            privateRoom.join("gaurav","123456");
            privateRoom.sendConfigurationForm(new Form(Form.TYPE_SUBMIT));
            System.out.println("Room Created!!!");

            Message message = new Message("[email protected]", Message.Type.normal);
            message.setBody("Happy User");

            privateRoom.sendMessage(message);



        } catch (XMPPException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

Upvotes: 9

Views: 2920

Answers (2)

ianmayo
ianmayo

Reputation: 2402

I am aware of how late this answer it, but it may help a future Stack-Overflower

The answer is in room affiliations, supported by members-only MUC room config option.

Affiliations allow the domain owner to specifically name who can access the room, and mark them as member. That user then automatically has access to that room, without requiring an invitation.

Upvotes: 0

legoscia
legoscia

Reputation: 41648

XEP-0045 doesn't contain a scenario where a client is forcibly made a participant of a chat room. While you can send an invite to a contact (either directly to the user, or through the MUC server), the contact doesn't actually join the chat room until the contact's client requests to join the room.

Thus, adding a user to a chat room without inviting them requires special support in the user's client. Possibly, the client could be modified to automatically accept chat room invites from trusted contacts.

Upvotes: 2

Related Questions