Documentation
¶
Index ¶
- func MessageRequireToAck(msg tl.Object) bool
- func RpcErrorToNative(r *objects.RpcError) 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) 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) 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(WithLogs bool) error
- func (m *MTProto) SaveSession(mem bool) (err error)
- 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) (*MTProto, error)
- func (m *MTProto) TcpState() *TcpState
- func (m *MTProto) Terminate() error
- func (m *MTProto) UpdateSeqNo() int32
- type TcpState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MessageRequireToAck ¶
func RpcErrorToNative ¶
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
AuthAESKey string
StringSession string
SessionStorage session.SessionLoader
MemorySession bool
AppID int32
FloodHandler func(err error) bool
ErrorHandler func(err error)
ReqTimeout time.Duration
ServerHost string
PublicKey *rsa.PublicKey
DataCenter int
Logger *utils.Logger
Proxy *url.URL
Mode string
Ipv6 bool
CustomHost bool
LocalAddr string
Timeout time.Duration
}
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 string
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 decryption key of current session salt 🧐
func (*MTProto) GetServerSalt ¶
GetServerSalt returns current server salt
func (*MTProto) GetSessionID ¶
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.
Click to show internal directories.
Click to hide internal directories.