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, "testGroup@conference.abc.com");
try {
privateRoom.join("gaurav","123456");
privateRoom.sendConfigurationForm(new Form(Form.TYPE_SUBMIT));
System.out.println("Room Created!!!");
Message message = new Message("testGroup@conference.abc.com", Message.Type.normal);
message.setBody("Happy User");
privateRoom.sendMessage(message);
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
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.