gibberish/xmpp.scrbl

72 lines
1.3 KiB
Racket

#lang scribble/doc
@(require scribble/manual)
@title{XMPP}
A module for using the Jabber/XMPP protocol.
@table-of-contents[]
@section{Protocol Support}
It should eventually implement XMPP-Core and XMPP-IM to conform with
RFCs 3920 and 3921. Progress toward supporting the full protocol is
currently documented in the file 'xmpp.ss'
@section{Installation}
@schemeblock[(require (planet zzkt/xmpp:1:0/xmpp))]
@section{Session}
@schemeblock[
(with-xmpp-session jid pass body)
]
@section{Mesaging}
@schemeblock[
(with-xmpp-session jid pass
(send (message to text)))
]
@section{Presence}
@schemeblock[
(with-xmpp-session jid pass
(send (presence)))
]
@section{Registration}
@section{Response Handling}
@schemeblock[
(with-xmpp-session jid pass
(set-xmpp-handler 'message print-message))
]
@section{Example Chat Client}
@schemeblock[
(define (read-input prompt)
(display prompt)
(read-line (current-input-port)))
(define (chat)
(let ((jid (read-input "jid: "))
(pass (read-input "password: "))
(to (read-input "chat with: ")))
(with-xmpp-session
jid pass
(set-xmpp-handler 'message print-message)
(let loop ()
(let ((msg (read-line (current-input-port))))
(send (message to msg))
(loop))))))
]
and chat away...