tolgatanriverdi
tolgatanriverdi

Reputation: 581

Get MUC Room list which a user already participated

I'm using IOS XMPPFramework as our client infrastructure and we are using ejabberd as our XMPP Server. However when users deleted their application its impossible to retrieve the already registered rooms. Is something like that possible in XMPP (similar to whatsapp)

Thanks

Upvotes: 0

Views: 878

Answers (2)

Mickaël Rémond
Mickaël Rémond

Reputation: 9055

The way to implement this would be to store Bookmarks on the server, which would be a list of all the rooms you are interested in. As bookmarks are stored on the server, you can still retrieve them when you reinstall the app.

The XMPP extension defining bookmarks is XEP-0048.

Upvotes: 0

dichen
dichen

Reputation: 1643

  1. Configure the room as Persistent, Member-Only.
  2. Add the user into member list.
  3. Discover room.

    xmppStream = XMPPStream()        
    xmppStream!.addDelegate(self, delegateQueue: DispatchQueue.main)
    
    // MUC
    muc = XMPPMUC(dispatchQueue: DispatchQueue.main)
    muc?.activate(xmppStream)
    muc?.addDelegate(self, delegateQueue: DispatchQueue.main)
    
    muc?.discoverRooms(forServiceNamed: XmppMUCServer)
    

Upvotes: 2

Related Questions