Le package xmpp permet d'envoyer des messages instantanés aux utilisateurs de services compatibles avec XMPP et d'en recevoir.
Pour envoyer un message :
m := &xmpp.Message{ To: []string{"kaylee@example.com"}, Body: `Hi! How's the carrot?`, } err := m.Send(c)
Pour recevoir des messages, procédez comme suit :
func init() { xmpp.Handle(handleChat) } func handleChat(c context.Context, m *xmpp.Message) { // ... }
Variables
ErrPresenceUnavailable, ErrInvalidJID
var (
ErrPresenceUnavailable = errors.New("xmpp: presence unavailable")
ErrInvalidJID = errors.New("xmpp: invalid JID")
)
Fonctions
func GetPresence
Getpresence récupère la présence d'un utilisateur. Si l'adresse d'expédition est une chaîne vide, la valeur par défaut (yourapp@appspot.com/bot) est utilisée. Les valeurs de retour possibles sont "", "away", "dnd", "chat", "xa". ErrPresenceUnavailable est renvoyé si la présence n'est pas disponible.
func GetPresenceMulti
GetPresenceMulti récupère la présence de plusieurs utilisateurs. Si l'adresse d'expédition est une chaîne vide, la valeur par défaut (yourapp@appspot.com/bot) est utilisée. Les valeurs de retour possibles sont "", "away", "dnd", "chat", "xa". Si une présence est indisponible, une erreur "appengine.MultiError" est renvoyée.
func Handle
Gérez les dispositions pour que f soit appelé pour les messages XMPP entrants. Seuls les messages de type "chat" ou "normal" seront traités.
func Invite
Invite envoie une invitation. Si l'adresse "De" est une chaîne vide, la valeur par défaut (yourapp@appspot.com/bot) est utilisée.
Message
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
}
Le type Message correspond à un message de chat entrant.
func (*Message) Send
La fonction Send envoie un message. Si des échecs surviennent avec des destinataires spécifiques, l'erreur est une erreur appengine.MultiError.
Présence
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
}
Presence représente une mise à jour de la présence sortante.
func (*Presence) Send
La fonction Send envoie une mise à jour de la présence.