Documentation
¶
Index ¶
- Variables
- func AnyError(err error, errs ...string) bool
- func FormatDecodeError(err error) string
- func RpcErrorToNative(r *objects.RpcError, method ...string) error
- func TryExpandError(errStr string) (nativeErrorName string, additionalData any)
- type BadMsgError
- type BadSystemMessageCode
- type Config
- type ErrResponseCode
- type MTProto
- func (m *MTProto) AddCustomServerRequestHandler(handler func(i any) bool)
- func (m *MTProto) AppID() int32
- func (m *MTProto) CreateConnection(withLog bool) error
- func (m *MTProto) DeleteSession() (err error)
- func (m *MTProto) Disconnect() error
- func (m *MTProto) ExportAuth() (*session.Session, int)
- func (m *MTProto) ExportNewSender(dcID int, mem bool, cdn ...bool) (*MTProto, error)
- func (m *MTProto) GetAddr() string
- func (m *MTProto) GetAuthKey() []byte
- func (m *MTProto) GetDC() int
- func (m *MTProto) GetSeqNo() int32
- func (m *MTProto) GetServerSalt() int64
- func (m *MTProto) GetSessionID() int64
- func (m *MTProto) GetTransportType() string
- func (m *MTProto) HasCdnKey(dc int32) (*rsa.PublicKey, bool)
- func (m *MTProto) ImportAuth(stringSession string) (bool, error)
- func (m *MTProto) ImportRawAuth(authKey, authKeyHash []byte, addr string, appID int32) (bool, error)
- func (m *MTProto) InvokeRequestWithoutUpdate(data tl.Object, expectedTypes ...reflect.Type) error
- func (m *MTProto) IsTcpActive() bool
- func (m *MTProto) LoadSession(sess *session.Session) error
- func (m *MTProto) MakeRequest(msg tl.Object) (any, error)
- func (m *MTProto) MakeRequestCtx(ctx context.Context, msg tl.Object) (any, error)
- func (m *MTProto) MakeRequestWithHintToDecoder(msg tl.Object, expectedTypes ...reflect.Type) (any, error)
- func (m *MTProto) Ping() time.Duration
- func (m *MTProto) Reconnect(loggy bool) error
- func (m *MTProto) SaveSession(mem bool) (err error)
- func (m *MTProto) SetAddr(addr string)
- func (m *MTProto) SetAppID(appID int32)
- func (m *MTProto) SetAuthKey(key []byte)
- func (m *MTProto) SetCdnKeys(keys map[int32]*rsa.PublicKey)
- func (m *MTProto) SetTerminated(val bool)
- func (m *MTProto) SwitchDc(dc int) error
- func (m *MTProto) TcpState() *TcpState
- func (m *MTProto) Terminate() error
- func (m *MTProto) UpdateSeqNo() int32
- type TcpState
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrAuthKeyInvalid = fmt.Errorf("auth key invalid (code -404) - too many failures")
Functions ¶
func FormatDecodeError ¶ added in v1.6.10
func TryExpandError ¶
Types ¶
type BadMsgError ¶
type BadMsgError struct {
*objects.BadMsgNotification
Description string
}
func BadMsgErrorFromNative ¶
func BadMsgErrorFromNative(in *objects.BadMsgNotification) *BadMsgError
func (*BadMsgError) Error ¶
func (e *BadMsgError) Error() string
type BadSystemMessageCode ¶
type BadSystemMessageCode int32
const ( ErrBadMsgUnknown BadSystemMessageCode = 0 ErrBadMsgIdTooLow BadSystemMessageCode = 16 ErrBadMsgIdTooHigh BadSystemMessageCode = 17 ErrBadMsgIncorrectMsgIdBits BadSystemMessageCode = 18 ErrBadMsgWrongContainerMsgId BadSystemMessageCode = 19 // this must never happen ErrBadMsgMessageTooOld BadSystemMessageCode = 20 ErrBadMsgSeqNoTooLow BadSystemMessageCode = 32 ErrBadMsgSeqNoTooHigh BadSystemMessageCode = 33 ErrBadMsgSeqNoExpectedEven BadSystemMessageCode = 34 ErrBadMsgSeqNoExpectedOdd BadSystemMessageCode = 35 ErrBadMsgServerSaltIncorrect BadSystemMessageCode = 48 ErrBadMsgInvalidContainer BadSystemMessageCode = 64 )
type Config ¶
type Config struct {
AuthKeyFile string // Path to auth key file for persistent sessions
AuthAESKey string // AES-256 key for encrypting session file
StringSession string // Base64 encoded session string
SessionStorage session.SessionLoader // Custom session storage implementation
MemorySession bool // Keep session in memory only
AppID int32 // Telegram API ID
EnablePFS bool // Enable Perfect Forward Secrecy
FloodHandler func(err error) bool // Called on FLOOD_WAIT; return true to retry
ErrorHandler func(err error) bool // Called on errors; return true to retry
ConnectionHandler func(err error) error // Custom reconnection handler
ServerHost string // Telegram server address (IP:port)
PublicKey *rsa.PublicKey // RSA public key for server verification
DataCenter int // Data center ID (1-5)
Logger *utils.Logger // Logger instance
Proxy *utils.Proxy // Proxy configuration
Mode string // Transport mode (Abridged, Intermediate, Full)
Ipv6 bool // Prefer IPv6 connections
CustomHost bool // Use custom ServerHost instead of DC lookup
LocalAddr string // Local address to bind (IP:port)
Timeout int // TCP connection timeout (seconds)
ReqTimeout int // RPC request timeout (seconds)
UseWebSocket bool // Use WebSocket transport
UseWebSocketTLS bool // Use secure WebSocket (wss://)
MaxReconnectAttempts int // Max reconnection attempts (default: 2000)
BaseReconnectDelay time.Duration // Initial reconnect delay (default: 2s)
MaxReconnectDelay time.Duration // Maximum reconnect delay (default: 15m)
OnMigration func() // Called after DC migration completes
}
type ErrResponseCode ¶
type ErrResponseCode struct {
Code int64
Message string
Description string
AdditionalInfo any // some errors has additional data like timeout seconds, dc id etc.
}
func (*ErrResponseCode) Error ¶
func (e *ErrResponseCode) Error() string
type MTProto ¶
type MTProto struct {
Addr atomic.Value
DcList *utils.DCOptions
IpV6 bool
Logger *utils.Logger
// contains filtered or unexported fields
}
func NewMTProto ¶
func (*MTProto) AddCustomServerRequestHandler ¶
func (*MTProto) CreateConnection ¶
func (*MTProto) DeleteSession ¶
func (*MTProto) Disconnect ¶
func (*MTProto) ExportNewSender ¶
func (*MTProto) GetAuthKey ¶
GetAuthKey returns the current auth key used for message encryption.
func (*MTProto) GetServerSalt ¶
GetServerSalt returns current server salt
func (*MTProto) GetSessionID ¶
func (*MTProto) GetTransportType ¶ added in v1.6.7
func (*MTProto) ImportRawAuth ¶
func (*MTProto) InvokeRequestWithoutUpdate ¶
func (*MTProto) IsTcpActive ¶ added in v1.6.0
func (*MTProto) MakeRequestCtx ¶ added in v1.3.21
func (*MTProto) MakeRequestWithHintToDecoder ¶
func (*MTProto) SaveSession ¶
func (*MTProto) SetAuthKey ¶
func (*MTProto) SetCdnKeys ¶ added in v1.4.8
func (*MTProto) SetTerminated ¶ added in v1.6.1
func (*MTProto) UpdateSeqNo ¶
type TcpState ¶ added in v1.6.0
type TcpState struct {
// contains filtered or unexported fields
}
TcpState represents a simple concurrency-safe state machine that can be either active or inactive. When the state becomes active, all goroutines waiting on WaitForActive() are released (via channel close). When the state becomes inactive again, a new channel is created for future waits.
func NewTcpState ¶ added in v1.6.0
func NewTcpState() *TcpState
func (*TcpState) GetActive ¶ added in v1.6.3
GetActive safely returns the current active flag. It can be called concurrently with other methods.
Directories
¶
| Path | Synopsis |
|---|---|
|
examples
|
|
|
auth
command
|
|
|
bot
command
|
|
|
broadcast
command
|
|
|
buttons
command
|
|
|
cache
command
|
|
|
contextstore
command
|
|
|
conversation
command
|
|
|
download
command
|
|
|
e2e
command
|
|
|
fileid
command
|
|
|
filters
command
|
|
|
getchats
command
|
|
|
gifts
command
|
|
|
inline
command
|
|
|
logger
command
|
|
|
mtproxy
command
|
|
|
multiple
command
|
|
|
pfs
command
|
|
|
progress
command
|
|
|
proxy
command
|
|
|
qrlogin
command
|
|
|
react
command
|
|
|
rtmp
command
|
|
|
sessions/pyrogram
command
|
|
|
sessions/string
command
|
|
|
sessions/tdata
command
|
|
|
sessions/telethon
command
|
|
|
simple
command
|
|
|
stars
command
|
|
|
internal
|
|
|
cmd/tlgen
module
|
|
Click to show internal directories.
Click to hide internal directories.