I encountered two interesting points when working with the Openfire XMPP server and the Smack API, both from IgniteRealtime.
- After joining a Multi-User Chat (MUC) independently, without invite, I was forbidden (e.g. error 403) from finding out who the administrators or owners of the room were. I could not find anything about this in the documentation.
The workaround was not too bad: apparently the methodgetOccupant(
allows you to get an) Occupant
object which does hold affiliation and can report admin rights. - In some situations – not sure when yet – the owner of an MUC was able to grant another user admin status by just using his/her nickname, without using the full JID. That is
grantAdmin("nickname")
worked just as well asgrantAdmin("nickname@conference.server")
. Nonetheless, when trying to use the method getOccupant() as mentioned above, the full JID form worked while the nickname-only one failed.
I am using Smack 3.0.4 and Openfire 3.5.2. Weird.