Documentation ¶
Overview ¶
Package mtproto implements MTProto connection.
Code generated by gomacro; DO NOT EDIT.
Index ¶
- type Conn
- func (c *Conn) Close() error
- func (c *Conn) Connect(ctx context.Context) (err error)
- func (c *Conn) InvokeRaw(ctx context.Context, input bin.Encoder, output bin.Decoder) error
- func (c *Conn) Ping(ctx context.Context) error
- func (c *Conn) Reconnect(ctx context.Context) error
- func (c *Conn) Session() Session
- type Error
- type Handler
- type MessageIDSource
- type Options
- type Session
- type Transport
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Conn ¶
type Conn struct {
// contains filtered or unexported fields
}
Conn represents a MTProto client to Telegram.
func (*Conn) Connect ¶
Connect initializes connection to Telegram server and starts internal read loop.
func (*Conn) InvokeRaw ¶
InvokeRaw sens input and decodes result into output.
NOTE: Assuming that call contains content message (seqno increment).
func (*Conn) Ping ¶
Ping sends ping request to server and waits until pong is received or context is canceled.
type Error ¶
type Error struct { Code int // 420 Message string // FLOOD_WAIT_3 Type string // FLOOD_WAIT Argument int // 3 }
Error represents RPC error returned to request.
func (*Error) ExtractArgument ¶
func (e *Error) ExtractArgument()
ExtractArgument extracts Type and Argument from Message.
type MessageIDSource ¶
type MessageIDSource interface {
New(t proto.MessageType) int64
}
MessageIDSource is message id generator.
type Options ¶
type Options struct { // PublicKeys of telegram. // // If not provided, embedded public keys will be used. PublicKeys []*rsa.PublicKey // Transport to use. Default dialer will be used if not provided. Transport Transport // Network to use. Defaults to tcp. Network string // Random is random source. Defaults to crypto. Random io.Reader // Logger is instance of zap.Logger. No logs by default. Logger *zap.Logger // Handler will be called on received message. Handler Handler // AckBatchSize is maximum ack-s to buffer. AckBatchSize int // AckInterval is maximum time to buffer ack. AckInterval time.Duration RetryInterval time.Duration MaxRetries int MessageID MessageIDSource Clock clock.Clock OnReconnect func() error Types *tmap.Map Key crypto.AuthKeyWithID Salt int64 }
Options of Conn.
type Session ¶
type Session struct { Key crypto.AuthKeyWithID Salt int64 }
Session represents connection state.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.