xmpp パッケージは、XMPP 互換サービスのユーザーとインスタント メッセージを送受信するための手段を提供します。
メールを送信するには、
m := &xmpp.Message{ To: []string{"kaylee@example.com"}, Body: `Hi! How's the carrot?`, } err := m.Send(c)
メッセージを受信するには、
func init() { xmpp.Handle(handleChat) } func handleChat(c context.Context, m *xmpp.Message) { // ... }
変数
ErrPresenceUnavailable、ErrInvalidJID
var (
ErrPresenceUnavailable = errors.New("xmpp: presence unavailable")
ErrInvalidJID = errors.New("xmpp: invalid JID")
)
関数
func GetPresence
GetPresence は、ユーザーのプレゼンスを取得します。 差出人アドレスが空の文字列の場合は、デフォルト(yourapp@appspot.com/bot)が使用されます。有効な戻り値は ""、"away"、"dnd"、"chat"、"xa" です。プレゼンスが存在しない場合、ErrPresenceUnavailable が返されます。
func GetPresenceMulti
GetPresenceMulti は複数のユーザーのプレゼンスを取得します。 差出人アドレスが空の文字列の場合は、デフォルト(yourapp@appspot.com/bot)が使用されます。有効な戻り値は ""、"away"、"dnd"、"chat"、"xa" です。いずれかのプレゼンスを利用できない場合は、appengine.MultiError が返されます。
func Handle
Handle は、受信 XMPP メッセージに対して f を呼び出すように調整します。 "chat" または "normal" タイプのメッセージのみが処理されます。
func Invite
Invite は招待を送信します。差出人アドレスが空の文字列の場合は、デフォルト(yourapp@appspot.com/bot)が使用されます。
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
}
Message はチャット受信メッセージを表します。
func (*Message) Send
Send はメッセージを送信します。 特定の受信者でエラーが発生した場合、エラーは appengine.MultiError になります。
Presence
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 は、送信プレゼンスの更新を表します。
func (*Presence) Send
Send はプレゼンスの更新を送信します。