El paquete xmpp proporciona los medios para enviar y recibir mensajes instantáneos desde y hacia los usuarios de los servicios compatibles con XMPP.
Para enviar un mensaje,
m := &xmpp.Message{ To: []string{"kaylee@example.com"}, Body: `Hi! How's the carrot?`, } err := m.Send(c)
Para recibir mensajes,:
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")
)
Funciones
func GetPresence
GetPresence recupera la presencia de un usuario. Si la dirección de origen es una string vacía, se usará el valor predeterminado (yourapp@appspot.com/bot). Los valores posibles son “”, “away”, “dnd”, “chat” y “xa”. Se muestra ErrPresenceUnavailable si la presencia no está disponible.
func GetPresenceMulti
GetPresenceMulti recupera la presencia de varios usuarios. Si la dirección de origen es una string vacía, se usará el valor predeterminado (yourapp@appspot.com/bot). Los valores posibles son “”, “away”, “dnd”, “chat” y “xa”. Si no hay ninguna presencia disponible, se muestra appengine.MultiError
func Handle
Maneja los arrays para que se llame a f para los mensajes XMPP entrantes. Solo se manejarán los mensajes de tipo “chat” o “normal”.
func Invite
La invitación envía una invitación. Si la dirección de origen es una string vacía, se usará el valor predeterminado (yourapp@appspot.com/bot).
Mensaje
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 representa un mensaje de chat entrante.
func (*Message) Send
Send envía un mensaje. Si se produce algún error con destinatarios específicos, el error será appengine.MultiError.
Presencia
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 representa una actualización de presencia saliente.
func (*Presence) Send
Send envía una actualización de presencia.