Skip to content

Latest commit

 

History

History
90 lines (49 loc) · 2.29 KB

DEPS.md

File metadata and controls

90 lines (49 loc) · 2.29 KB

Dependencies

grammers-crypto

Used for supporting logging in to accounts with 2-factor authentication enabled.

grammers-mtproto

Used to configure the underlying protocol and transport used.

grammers-mtsender

Used to drive the network connection to Telegram.

grammers-session

Used to load and store session data, such as authorization key or current user identifier.

It also contains the logic needed to correctly process updates.

grammers-tl-types

Used everywhere to invoke the "raw Telegram's API". It is the implementation of all the friendly client methods.

os_info

Telegram requires clients to send some basic system information when connecting to the server, such as OS type or system version. If these values are not explicitly provided by the user, the crate is used to load the expected values.

locate-locale

Similar rationale to os_info, Telegram expects a system language code used by the client (presumably for things such as localized service messages among others).

pulldown-cmark

Enables the user to use markdown text to send formatted messages.

html5ever

Enables the user to use HTML text to send formatted messages.

tokio

Used to coordinate the asynchronous methods of the client.

log

Used to log the execution of the client to help debug issues.

md5

Needed when uploading files to Telegram.

mime_guess

Used to guess the mime-type of uploaded files when sending media unless the user explicitly sets the mime-type themselves. The mime-type is required by Telegram.

chrono

Used for defining date types (for example, accessing the date of when a message was sent).

simple_logger

Used by the examples to showcase how one may configure logging for more information.

toml

Used to test that this file lists all dependencies from Cargo.toml.

pin-project-lite

Used for return custom types that impl Future so that the requests can be further configured without having to use Box.

futures-util

Provides useful functions for working with futures/tasks.

url

Used to parse certain URLs to offer features such as joining private chats via their invite link.

web-time

Used for its web-friendly clock and timer as a replacement for std::time in the library. Automatically falls back to std::time when we're not targeting web.