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

O pacote XMPP fornece os meios de enviar e receber mensagens instantâneas de e para usuários de serviços compatíveis com XMPP.

Para enviar uma mensagem:

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

Para receber mensagens,

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

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

Variáveis

ErrPresenceUnavailable, ErrInvalidJID

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

Funções

função GetPresence

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

GetPresence recupera a presença de um usuário. Se o endereço "De" for uma string vazia, o padrão (yourapp@appspot.com/bot) será usado. Os valores possíveis de retorno são "", "away", "dnd", "chat" e "xa". ErrPresenceUnavailable é retornado se a presença estiver indisponível.

função GetPresenceMulti

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

GetPresenceMulti recupera a presença de vários usuários. Se o endereço "De" for uma string vazia, o padrão (yourapp@appspot.com/bot) será usado. Os valores possíveis de retorno são "", "away", "dnd", "chat" e "xa". Se alguma presença estiver indisponível, um appengine.MultiError será retornado

função Handle

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

Identificador para que f seja chamado nas mensagens XMPP recebidas. Somente as mensagens do tipo "chat" ou "normal" serão tratadas.

função Invite

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

a função Invite envia um convite. Se o endereço "De" for uma string vazia, o padrão (yourapp@appspot.com/bot) será usado.

Mensagem

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 uma mensagem de chat recebida.

função (*Message) Send

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

"Send" envia uma mensagem. Se ocorrer alguma falha com destinatários específicos, o erro será appengine.MultiError.

Presença

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
}

A presença representa uma atualização de presença enviada.

função (*Presence) Send

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

Envia uma atualização de presença.