Paket google.golang.org/appengine/xmpp (v1.6.8)

Das Paket-xmpp bietet die Möglichkeit, Sofortnachrichten an und von Nutzern von XMPP-kompatiblen Diensten zu senden und zu empfangen.

So senden Sie eine Nachricht:

m := &xmpp.Message{
    To:   []string{"kaylee@example.com"},
    Body: `Hi! How's the carrot?`,
}
err := m.Send(c)

So empfangen Sie Nachrichten

func init() {
    xmpp.Handle(handleChat)
}

func handleChat(c context.Context, m *xmpp.Message) {
    // ...
}

Variablen

ErrPresenceUnavailable, ErrInvalidJID

var (
	ErrPresenceUnavailable = errors.New("xmpp: presence unavailable")
	ErrInvalidJID          = errors.New("xmpp: invalid JID")
)

Funktionen

func GetPresence

func GetPresence(c context.Context, to string, from string) (string, error)

Mit GetPresence wird die Präsenz eines Nutzers abgerufen. Wenn die Von-Adresse ein leerer String ist, wird der Standardwert (yourapp@appspot.com/bot) verwendet. Mögliche Rückgabewerte sind "", "away", "dnd", "chat", "xa". ErrPresenceUnavailable wird zurückgegeben, wenn die Präsenz nicht verfügbar ist.

func GetPresenceMulti

func GetPresenceMulti(c context.Context, to []string, from string) ([]string, error)

Mit GetPresenceMulti wird die Präsenz mehrerer Nutzer abgerufen. Wenn die Von-Adresse ein leerer String ist, wird der Standardwert (yourapp@appspot.com/bot) verwendet. Mögliche Rückgabewerte sind "", "away", "dnd", "chat", "xa". Wenn keine Präsenz verfügbar ist, wird ein appengine.MultiError zurückgegeben.

func Handle

func Handle(f func(c context.Context, m *Message))

Handle ordnet "f" für den Aufruf eingehender XMPP-Nachrichten an. Es werden nur Nachrichten vom Typ "Chat" oder "Normal" verarbeitet.

func Invite

func Invite(c context.Context, to, from string) error

Invite sendet eine Einladung. Wenn die Von-Adresse ein leerer String ist, wird der Standardwert (yourapp@appspot.com/bot) verwendet.

Meldung

type Message struct {
	// Sender is the JID of the sender.
	// Optional for outgoing messages.
	Sender string

	// To is the intended recipients of the message.
	// Incoming messages will have exactly one element.
	To []string

	// Body is the body of the message.
	Body string

	// Type is the message type, per RFC 3921.
	// It defaults to "chat".
	Type string

	// RawXML is whether the body contains raw XML.
	RawXML bool
}

"Message" steht für eine eingehende Chatnachricht.

func (*Message) Send

func (m *Message) Send(c context.Context) error

"Send" sendet eine Nachricht. Wenn Fehler bei bestimmten Empfängern auftreten, lautet der Fehler appengine.MultiError.

Präsenz

type Presence struct {
	// Sender is the JID (optional).
	Sender string

	// The intended recipient of the presence update.
	To string

	// Type, per RFC 3921 (optional). Defaults to "available".
	Type string

	// State of presence (optional).
	// Valid values: "away", "chat", "xa", "dnd" (RFC 3921).
	State string

	// Free text status message (optional).
	Status string
}

Präsenz repräsentiert ein ausgehendes Präsenzupdate.

func (*Presence) Send

func (p *Presence) Send(c context.Context) error

"Send" sendet eine Präsenzaktualisierung.