initial commit

This commit is contained in:
2026-01-29 21:35:36 +00:00
commit b0f9a7048a
17 changed files with 923 additions and 0 deletions

26
xmpp-mucuser.go Normal file
View File

@@ -0,0 +1,26 @@
package main
// Implementation of XEP-0045: Multi User Chat 7.2.2
// https://xmpp.org/extensions/xep-0045.html#enter-pres
import (
"encoding/xml"
"gosrc.io/xmpp/stanza"
)
type MucUser struct {
stanza.PresExtension
XMLName xml.Name `xml:"http://jabber.org/protocol/muc#user x"`
MucUserItem MucUserItem `xml:"item,omitempty"`
}
type MucUserItem struct {
XMLName xml.Name
Affiliation string `xml:"affiliation,attr,omitempty"` // TODO: Use enum
Role string `xml:"role,attr,omitempty"` // TODO: Use enum
JID string `xml:"jid,attr,omitempty"`
}
func init() {
stanza.TypeRegistry.MapExtension(stanza.PKTPresence, xml.Name{Space: "http://jabber.org/protocol/muc#user", Local: "x"}, MucUser{})
}