telegram

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2022 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

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
	// 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) Connect

func (c *Client) Connect(resource string) error

Connect starts TDlib connection

func (*Client) Disconnect

func (c *Client) Disconnect(resource string, quit bool) bool

Disconnect drops TDlib connection and returns the flag indicating if disconnecting is permitted

func (*Client) DownloadFile

func (c *Client) DownloadFile(id int32, priority int32, synchronous bool) (*client.File, error)

DownloadFile actually obtains a file by id given by TDlib

func (*Client) GetContactByID

func (c *Client) GetContactByID(id int64, chat *client.Chat) (*client.Chat, *client.User, error)

GetContactByID gets user and chat information from cache (or tries to retrieve it, if missing)

func (*Client) GetContactByUsername

func (c *Client) GetContactByUsername(username string) (*client.Chat, *client.User, error)

GetContactByUsername resolves username to user id retrieves user and chat information

func (*Client) LastSeenStatus

func (c *Client) LastSeenStatus(timestamp int64) string

LastSeenStatus formats a timestamp to a "Last seen at" string

func (*Client) Online

func (c *Client) Online() bool

Online checks if the updates listener is alive

func (*Client) ProcessChatCommand

func (c *Client) ProcessChatCommand(chatID int64, cmdline string) (string, bool)

ProcessChatCommand executes a command sent in a mapped chat and returns a response and the status of command support

func (*Client) ProcessOutgoingMessage

func (c *Client) ProcessOutgoingMessage(chatID int64, text string, returnJid string) client.InputMessageContent

ProcessOutgoingMessage executes commands or sends messages to mapped chats

func (*Client) ProcessStatusUpdate

func (c *Client) ProcessStatusUpdate(chatID int64, status string, show string, oldArgs ...args.V) error

ProcessStatusUpdate sets contact status

func (*Client) ProcessTransportCommand

func (c *Client) ProcessTransportCommand(cmdline string, resource string) string

ProcessTransportCommand executes a command sent directly to the component and returns a response

func (*Client) StatusesRange

func (c *Client) StatusesRange() chan *cache.Status

StatusesRange proxies the following function from unexported cache

type DelayedStatus

type DelayedStatus struct {
	TimestampOnline  int64
	TimestampExpired int64
}

DelayedStatus describes an online status expiring on timeout

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL