Files
lambda/xmpp-helpers.go
2026-01-30 15:56:58 +00:00

49 lines
965 B
Go

package main
import (
"fmt"
"gosrc.io/xmpp"
"gosrc.io/xmpp/stanza"
)
// This file has small functions that can be used to do XMPP stuff without writing tons of boilerplate
// Basic message sender. Anything more complex should be written by hand
func sendMessage(c xmpp.Sender, sendTo string, msgType stanza.StanzaType, body string, subject string, thread string) error {
m := stanza.Message{
Attrs: stanza.Attrs{
To: sendTo,
Type: msgType,
},
Body: body,
Subject: subject,
Thread: thread,
}
err := c.Send(m)
if err != nil {
return err
}
return nil
}
// Joins a MUC
func joinMuc(c xmpp.Sender, jid string, muc string, nick string) error {
addr := muc + "/" + nick
fmt.Println(addr)
joinPresence := stanza.Presence{
Attrs: stanza.Attrs{
From: jid,
To: addr,
},
Extensions: []stanza.PresExtension{
&stanza.MucPresence{},
},
}
err := client.Send(joinPresence)
if err != nil {
return err
}
return nil
}