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
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
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
Identificador para que f seja chamado nas mensagens XMPP recebidas. Somente as mensagens do tipo "chat" ou "normal" serão tratadas.
função Invite
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
"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
Envia uma atualização de presença.