Documentation ¶
Overview ¶
Package xmpp implements a simple Google Talk client using the XMPP protocol described in RFC 3920 and RFC 3921.
TODO(flo):
- support password protected MUC rooms
- cleanup signatures of join/leave functions
Index ¶
- Variables
- type Chat
- type Client
- func (c *Client) ApproveSubscription(jid string)
- func (c *Client) Close() error
- func (c *Client) IsEncrypted() bool
- func (c *Client) JoinMUC(jid, nick string)
- func (c *Client) JoinProtectedMUC(jid, nick string, password string)
- func (c *Client) LeaveMUC(jid string)
- func (c *Client) PingC2S(jid, server string)
- func (c *Client) PingS2S(fromServer, toServer string)
- func (c *Client) Recv() (stanza interface{}, err error)
- func (c *Client) RequestSubscription(jid string)
- func (c *Client) RevokeSubscription(jid string)
- func (c *Client) Roster() error
- func (c *Client) Send(chat Chat) (n int, err error)
- func (c *Client) SendHtml(chat Chat) (n int, err error)
- func (c *Client) SendOrg(org string) (n int, err error)
- type Contact
- type Cookie
- type Options
- type Presence
- type Roster
Constants ¶
This section is empty.
Variables ¶
var DefaultConfig tls.Config
Default TLS configuration options
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client holds XMPP connection opitons
func NewClient ¶
NewClient creates a new connection to a host given as "hostname" or "hostname:port". If host is not specified, the DNS SRV should be used to find the host from the domainpart of the JID. Default the port to 5222.
func NewClientNoTLS ¶
NewClientNoTLS creates a new client without TLS
func (*Client) ApproveSubscription ¶
func (*Client) IsEncrypted ¶
IsEncrypted will return true if the client is connected using a TLS transport, either because it used. TLS to connect from the outset, or because it successfully used STARTTLS to promote a TCP connection to TLS.
func (*Client) JoinProtectedMUC ¶
xep-0045 7.2.6
func (*Client) Recv ¶
Recv waits to receive the next XMPP stanza. Return type is either a presence notification or a chat message.
func (*Client) RequestSubscription ¶
func (*Client) RevokeSubscription ¶
type Options ¶
type Options struct { // Host specifies what host to connect to, as either "hostname" or "hostname:port" // If host is not specified, the DNS SRV should be used to find the host from the domainpart of the JID. // Default the port to 5222. Host string // User specifies what user to authenticate to the remote server. User string // Password supplies the password to use for authentication with the remote server. Password string // Resource specifies an XMPP client resource, like "bot", instead of accepting one // from the server. Use "" to let the server generate one for your client. Resource string // TLS Config TLSConfig *tls.Config // InsecureAllowUnencryptedAuth permits authentication over a TCP connection that has not been promoted to // TLS by STARTTLS; this could leak authentication information over the network, or permit man in the middle // attacks. InsecureAllowUnencryptedAuth bool // NoTLS directs go-xmpp to not use TLS initially to contact the server; instead, a plain old unencrypted // TCP connection should be used. (Can be combined with StartTLS to support STARTTLS-based servers.) NoTLS bool // StartTLS directs go-xmpp to STARTTLS if the server supports it; go-xmpp will automatically STARTTLS // if the server requires it regardless of this option. StartTLS bool // Debug output Debug bool // Use server sessions Session bool // Presence Status Status string // Status message StatusMessage string }
Options are used to specify additional options for new clients, such as a Resource.