powered by Jive Software

GroupChat presence

Hello again folks…

I’‘ve gotten group chat working. The only problem is that when I set my presence mode to Away or other, the presence packet doesn’‘t get sent to the GroupChat room. I can see theirs, they just don’'t see mine? Is there another step I need to do when setting my status?




I believe that group chat rooms require that you send your presence directly to them rather than just setting it in the server.



Ok, new question then:

How can I get more information about the people in the Group Chat?

As far as I know, there is no way to do this. The only info known about the person is their nickname (although most servers will let you sort of hack around this).

You may wish to check out JEP 45 though (MUC). It may provide some of the more advanced conferencing features you’'re looking for?


Matt’‘s right. In fact, it’‘s a feature of XMPP chatrooms that you shouldn’‘t be able to learn more about chatroom participants (especially their real addresses). This prevents spammers from trolling the chatrooms to get addresses to spam (anyone who’'s been in an AOL chatroom knows how bad that gets).


What about private message? What does that mean (apparently people are trying to do that, but my client doesn’'t know what to do with it…)



Private messages from group chat can have either a null or ‘‘chat’’ type. I’'ll have to modify the message packet to accept those.


Actually the type should remain the same ‘‘groupchat’’. To ‘‘whisper’’ or privately chat with a groupchat member, just send a packet to their room ID e.g. roomname@chatserver.com/nickname.


I dunno,

I’‘ve been on jdev@conference.jabber.org and have been asking people to “whisper” or PM me. All the private messages come in as either type “chat” or type “” from jdev@conference.jabbero.org/user. Whether or not their clients just aren’‘t following the protocol or not, every client that has pm’'ed me has been that way.


Did a bit of snooping around and I think you’‘re right and I’‘m wrong. I wonder if it’'s always been that way. My memory was that groupchat was the only legitimate message type in groupchat. Dang that protocol is inconsistent.


Sorry about the mistake on my part. We’‘ll probably want to move over to the Multi-User Chat (MUC) protocol soon. it provides a lot better experience than the old groupchat protocol. In the meantime, I guess we’'re stuck making groupchat as good as possible.


Ok, in the meantime I’'ve done this, and it seems to work pretty well:

Implement a null type in the Message packet. Then, in the regular packet listener (not the groupchat one because they don’‘t end up going there) I check to see if that packed comes from a room I’'m in, and if so, handle accordingly.