Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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();
        }

    }
like image 379
Gaurav Arora Avatar asked Dec 31 '12 06:12

Gaurav Arora


People also ask

What is multi user chat?

Abstract. This specification defines an XMPP protocol extension for multi-user text chat, whereby multiple XMPP users can exchange messages in the context of a room or channel, similar to Internet Relay Chat (IRC).

How does XMPP protocol work?

As mentioned above, XMPP works by passing small, structured chunks of XML data between endpoints (clients) via intermediary servers. In other words, if you send a message to your friend using XMPP, that message, as part of an XML document, first travels to a server instead of traveling directly to your friend's device.


1 Answers

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.

like image 62
legoscia Avatar answered Sep 26 '22 02:09

legoscia