Documentation ¶
Index ¶
- Constants
- type Client
- func (c *Client) AddToEditOutbox(xmppId, resource string)
- func (c *Client) AddToOutbox(xmppId, resource string)
- func (c *Client) Connect(resource string) error
- func (c *Client) Disconnect(resource string, quit bool) bool
- func (c *Client) DownloadFile(id int32, priority int32, synchronous bool) (*client.File, error)
- func (c *Client) ForceOpenFile(tgFile *client.File, priority int32) (*os.File, string, error)
- func (c *Client) GetChatDescription(chat *client.Chat) string
- func (c *Client) GetContactByID(id int64, chat *client.Chat) (*client.Chat, *client.User, error)
- func (c *Client) GetContactByUsername(username string) (*client.Chat, *client.User, error)
- func (c *Client) GetVcardInfo(toID int64) (VCardInfo, error)
- func (c *Client) IsPM(id int64) (bool, error)
- func (c *Client) LastSeenStatus(timestamp int64) string
- func (c *Client) MarkAsRead(chatId, messageId int64)
- func (c *Client) Online() bool
- func (c *Client) PermastoreFile(file *client.File, clone bool) (string, string)
- func (c *Client) PrepareOutgoingMessageContent(text string) client.InputMessageContent
- func (c *Client) ProcessChatCommand(chatID int64, cmdline string) (string, bool)
- func (c *Client) ProcessIncomingMessage(chatId int64, message *client.Message)
- func (c *Client) ProcessOutgoingMessage(chatID int64, text string, returnJid string, replyId int64, replaceId int64) int64
- func (c *Client) ProcessStatusUpdate(chatID int64, status string, show string, oldArgs ...args.V) error
- func (c *Client) ProcessTransportCommand(cmdline string, resource string) string
- func (c *Client) SetPhoneNumber(login string) error
- func (c *Client) StatusesRange() chan *cache.Status
- func (c *Client) TryLogin(resource string, login string) error
- func (c *Client) UpdateChatNicknames()
- func (c *Client) UpdateLastChatMessageId(chatId int64, messageId string)
- type DelayedStatus
- type VCardInfo
Constants ¶
const TelegramAuthDone string = "Authorization is done already"
const TelegramNotInitialized string = "Telegram connection is not initialized yet"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { Session *persistence.Session DelayedStatuses map[int64]*DelayedStatus DelayedStatusesLock sync.Mutex SendMessageLock sync.Mutex // contains filtered or unexported fields }
Client stores the metadata for lazily invoked TDlib instance
func NewClient ¶
func NewClient(conf config.TelegramConfig, jid string, component *xmpp.Component, session *persistence.Session) (*Client, error)
NewClient instantiates a Telegram App
func (*Client) AddToEditOutbox ¶ added in v1.9.0
AddToEditOutbox temporarily store the resource from which a replace message with given ID was sent
func (*Client) AddToOutbox ¶ added in v1.7.0
AddToOutbox remembers the resource from which a message with given ID was sent
func (*Client) Disconnect ¶
Disconnect drops TDlib connection and returns the flag indicating if disconnecting is permitted
func (*Client) DownloadFile ¶
DownloadFile actually obtains a file by id given by TDlib
func (*Client) ForceOpenFile ¶ added in v1.6.0
ForceOpenFile reliably obtains a file if possible
func (*Client) GetChatDescription ¶ added in v1.2.1
GetChatDescription obtains bio or description according to the chat type
func (*Client) GetContactByID ¶
GetContactByID gets user and chat information from cache (or tries to retrieve it, if missing)
func (*Client) GetContactByUsername ¶
GetContactByUsername resolves username to user id retrieves user and chat information
func (*Client) GetVcardInfo ¶ added in v1.6.0
func (*Client) LastSeenStatus ¶
LastSeenStatus formats a timestamp to a "Last seen at" string
func (*Client) MarkAsRead ¶ added in v1.9.0
MarkAsRead marks a message as read
func (*Client) PermastoreFile ¶ added in v1.6.0
PermastoreFile steals a file out of TDlib control into an independent shared directory
func (*Client) PrepareOutgoingMessageContent ¶ added in v1.6.0
func (c *Client) PrepareOutgoingMessageContent(text string) client.InputMessageContent
PrepareMessageContent creates a simple text message
func (*Client) ProcessChatCommand ¶
ProcessChatCommand executes a command sent in a mapped chat and returns a response and the status of command support
func (*Client) ProcessIncomingMessage ¶ added in v1.2.0
ProcessIncomingMessage transfers a message to XMPP side and marks it as read on Telegram side
func (*Client) ProcessOutgoingMessage ¶
func (c *Client) ProcessOutgoingMessage(chatID int64, text string, returnJid string, replyId int64, replaceId int64) int64
ProcessOutgoingMessage executes commands or sends messages to mapped chats, returns message id
func (*Client) ProcessStatusUpdate ¶
func (c *Client) ProcessStatusUpdate(chatID int64, status string, show string, oldArgs ...args.V) error
ProcessStatusUpdate sets contact status
func (*Client) ProcessTransportCommand ¶
ProcessTransportCommand executes a command sent directly to the component and returns a response
func (*Client) SetPhoneNumber ¶ added in v1.8.0
func (*Client) StatusesRange ¶
StatusesRange proxies the following function from unexported cache
func (*Client) UpdateChatNicknames ¶ added in v1.7.0
func (c *Client) UpdateChatNicknames()
func (*Client) UpdateLastChatMessageId ¶ added in v1.9.0
type DelayedStatus ¶
DelayedStatus describes an online status expiring on timeout