What you think?
:::scheme
(defun jabber-muc-join-group ()
(interactive)
(let ((account (jabber-read-account)))
(jabber-get-bookmarks account
#'(lambda (jc bms)
(let (groups group nickname)
(mapc #'(lambda (b)
(when (eq 'conference (jabber-xml-node-name b))
(push (make-symbol (jabber-xml-get-attribute b 'jid)) groups)))
bms)
(setq group (jabber-read-jid-completing "group: " groups)
nickname (jabber-muc-read-my-nickname jc group))
(jabber-muc-join jc group nickname))))))