google.golang.org/appengine/xmpp 패키지(v1.6.8)

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

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

GetPresence는 사용자의 정보를 검색합니다. from 주소가 빈 문자열인 경우 기본값(yourapp@appspot.com/bot)이 사용됩니다. 가능한 반환 값은 '"", 'away', 'dnd', 'chat', 'xa'입니다. 정보를 확인할 수 없으면 ErrPresenceUnavailable이 반환됩니다.

func GetPresenceMulti

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

GetPresenceMulti는 여러 사용자의 정보를 검색합니다. from 주소가 빈 문자열인 경우 기본값(yourapp@appspot.com/bot)이 사용됩니다. 가능한 반환 값은 '"", 'away', 'dnd', 'chat', 'xa'입니다. 정보를 확인할 수 없으면 appengine.MultiError가 반환됩니다.

func Handle

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

수신 XMPP 메시지에 대해 f를 호출하도록 처리합니다. '채팅' 또는 '일반' 유형의 메시지만 처리됩니다.

func Invite

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

Invite는 초대를 전송합니다. from 주소가 빈 문자열인 경우 기본값(yourapp@appspot.com/bot)이 사용됩니다.

메시지

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
}

메시지는 수신되는 채팅 메시지를 나타냅니다.

func (*Message) Send

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

Send는 메시지를 전송합니다. 특정 수신자에게 오류가 발생하면 appengine.MultiError가 발생합니다.

접속 상태

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
}

접속 상태는 발신 접속 상태 업데이트를 나타냅니다.

func (*Presence) Send

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

Send는 접속 상태 업데이트를 전송합니다.