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

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

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

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

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

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

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

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

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

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

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

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

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

Send envía una actualización de presencia.