Version0.7.0Verifiednot yet verifiedLicenseBSD-3-Clause
Readme
sigil-xmpp
A Sigil library for XMPP (Jabber) messaging. Provides a full-featured client with STARTTLS, SASL authentication, roster management, presence tracking, and Multi-User Chat (MUC) support.
Features
- Connection management -- STARTTLS upgrade, SASL authentication (SCRAM-SHA-1, PLAIN)
- JID handling -- parse and format JIDs, extract user/domain/resource
- Stanza construction -- build and inspect messages, presence, and IQ stanzas
- Roster management -- fetch, add, remove contacts, handle subscription requests
- Presence tracking -- monitor availability by resource, set your own status
- Multi-User Chat -- join/leave rooms, occupant tracking, group/private messaging (XEP-0045)
- Cooperative I/O -- blocking (
xmpp-run) or non-blocking (xmpp-tick) event loops
Usage
Add sigil-xmpp as a dependency in your package.sgl:
(from-git url: "codeberg:sigil/sigil-xmpp" package: "sigil-xmpp")Then import and connect:
(import (sigil xmpp))
(define conn (make-xmpp-connection
host: "xmpp.example.com"
jid: "[email protected]"
password: "secret"))
;; Install roster, presence, and MUC handling
(xmpp-install-features conn)
;; Set up message handler
(xmpp-on conn 'message
(lambda (stanza)
(display (stanza-body stanza))))
;; Connect and run
(xmpp-connect conn)
(xmpp-set-status conn "Online")
(xmpp-run conn)Modules
Read the rest
| Module | Description |
|---|---|
(sigil xmpp) | Top-level re-exports |
(sigil xmpp stanza) | JID parsing, stanza construction and inspection |
(sigil xmpp sasl) | SASL authentication (SCRAM-SHA-1, PLAIN) |
(sigil xmpp connection) | Connection lifecycle, event handling, I/O loop |
(sigil xmpp roster) | Roster management and subscription handling |
(sigil xmpp presence) | Presence tracking by resource |
(sigil xmpp muc) | Multi-User Chat rooms and occupant tracking |
Dependencies
- sigil-stdlib
- sigil-socket
- sigil-tls
- sigil-crypto
- sigil-sxml
Building
sigil deps install
sigil build
sigil testLicense
BSD-3-Clause
Clone
$ git clone https://codeberg.org/sigil/sigil-xmpp
Releases
v0.9.1 — latest by version, released 1 Apr 2026
All releases — 2 tags in this repository.
Source
One page per file, and every line has a permalink.
Recent commitsAtom
1 Aprcommit
29 Marcommit
Pin dependencies to version tags
237ae124
29 Marcommit
f7a49a17
29 Marcommit
01dd61ad
1 Marcommit
41683060
25 Febcommit
22 Febcommit
61dff08e
20 Febcommit
20 Febcommit
20 Febcommit
20 Febcommit
20 Febcommit
The last 20 commits keep a page here. Everything older lives in the clone.