Reputation: 8362
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
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
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