Documentation
¶
Index ¶
- func ChannelChatID(channelID int64) int64
- type AccessHashManager
- func (m *AccessHashManager) GetInputPeer(ctx context.Context, peerID int64) (tg.InputPeerClass, error)
- func (m *AccessHashManager) GetUserPeerFromMessage(ctx context.Context, peer tg.InputPeerClass, msgID int, userID int64) (tg.InputPeerClass, error)
- func (m *AccessHashManager) GetUserPeerWithFallback(ctx context.Context, userID int64, channelPeer tg.InputChannelClass) (tg.InputPeerClass, error)
- func (m *AccessHashManager) RegisterPeer(peerID int64, accessHash int64, peerType string)
- func (m *AccessHashManager) ResolveUsername(ctx context.Context, username string) (tg.InputPeerClass, error)
- type PeerError
- type Resolver
- func (r *Resolver) RegisterPeer(peerID int64, accessHash int64, peerType string)
- func (r *Resolver) ResolveFromChatID(ctx context.Context, chatID int64) (tg.InputPeerClass, error)
- func (r *Resolver) ResolveUserFromMessage(ctx context.Context, peer tg.InputPeerClass, msgID int, userID int64) (tg.InputPeerClass, error)
- func (r *Resolver) ResolveUserInChannel(ctx context.Context, channelPeer tg.InputChannelClass, userID int64) (tg.InputPeerClass, error)
- func (r *Resolver) ResolveUsername(ctx context.Context, username string) (tg.InputPeerClass, error)
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ChannelChatID ¶ added in v0.1.1
ChannelChatID converts a raw channel ID to the -100… chat ID form used by MessageEvent.ChatID, so cache keys match what commands look up.
Types ¶
type AccessHashManager ¶
type AccessHashManager struct {
// contains filtered or unexported fields
}
AccessHashManager caches and resolves access hashes for peers.
func NewAccessHashManager ¶
func NewAccessHashManager(api *tg.Client, store *Store) *AccessHashManager
func (*AccessHashManager) GetInputPeer ¶
func (m *AccessHashManager) GetInputPeer(ctx context.Context, peerID int64) (tg.InputPeerClass, error)
func (*AccessHashManager) GetUserPeerFromMessage ¶
func (m *AccessHashManager) GetUserPeerFromMessage(ctx context.Context, peer tg.InputPeerClass, msgID int, userID int64) (tg.InputPeerClass, error)
func (*AccessHashManager) GetUserPeerWithFallback ¶
func (m *AccessHashManager) GetUserPeerWithFallback(ctx context.Context, userID int64, channelPeer tg.InputChannelClass) (tg.InputPeerClass, error)
func (*AccessHashManager) RegisterPeer ¶
func (m *AccessHashManager) RegisterPeer(peerID int64, accessHash int64, peerType string)
func (*AccessHashManager) ResolveUsername ¶
func (m *AccessHashManager) ResolveUsername(ctx context.Context, username string) (tg.InputPeerClass, error)
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
Resolver is a lightweight peer resolver that delegates to AccessHashManager.
func NewResolver ¶
func NewResolver(manager *AccessHashManager) *Resolver
func (*Resolver) RegisterPeer ¶
func (*Resolver) ResolveFromChatID ¶
func (*Resolver) ResolveUserFromMessage ¶
func (r *Resolver) ResolveUserFromMessage(ctx context.Context, peer tg.InputPeerClass, msgID int, userID int64) (tg.InputPeerClass, error)
func (*Resolver) ResolveUserInChannel ¶
func (r *Resolver) ResolveUserInChannel(ctx context.Context, channelPeer tg.InputChannelClass, userID int64) (tg.InputPeerClass, error)
func (*Resolver) ResolveUsername ¶
type Store ¶ added in v0.1.1
type Store struct {
// contains filtered or unexported fields
}
Store persists access hashes so peer resolution survives restarts. Without it, channel commands fail with CHANNEL_INVALID until the peer is seen in an update again.
Click to show internal directories.
Click to hide internal directories.