6 releases (breaking)

0.6.0 May 3, 2024
0.5.1 Nov 18, 2023
0.4.1 Oct 14, 2022
0.3.0 May 5, 2021
0.2.0 Jul 20, 2020

#424 in Web programming

Download history 5/week @ 2024-02-01 15/week @ 2024-02-08 48/week @ 2024-02-15 67/week @ 2024-02-22 50/week @ 2024-02-29 46/week @ 2024-03-07 66/week @ 2024-03-14 55/week @ 2024-03-21 74/week @ 2024-03-28 142/week @ 2024-04-04 252/week @ 2024-04-11 161/week @ 2024-04-18 47/week @ 2024-04-25 285/week @ 2024-05-02 73/week @ 2024-05-09 42/week @ 2024-05-16

456 downloads per month
Used in 7 crates (2 directly)


2.5K SLoC


A set of Rust libraries to interact with Telegram's API, hence the name (tele)gramme.rs.

Current status

It works! The high-level interface is slowly taking shape, and it can already be used to build real projects, such as RSS bots.

For an up-to-date taste on how the library looks like, refer to the client examples folder.

For more documentation, please refer to https://docs.rs/grammers-client/.


The following libraries under lib/ can be used to work with Telegram in some way:


The following auxiliary CLI tools are available in the bin/ folder:


It is recommended to always use cargo-crev to verify the trustworthiness of each of your dependencies, including this one.

As far as I know, this code has not been audited, so if, for any reason, you're using this crate where security is critical, I strongly encourage you to review at least grammers-crypto and the authentication part of grammers-mtproto. I am not a security expert, although I trust my code enough to use it myself.

If you know about some published audit for this crate, please let me know, so that I can link it here and review the issues found.


All the libraries and binaries contained in this repository are licensed under either of

at your option.


Thank you for considering to contribute! I'll try my best to provide quick, constructive feedback on your issues or pull requests. Please do call me out if you think my behaviour is not acceptable at any time. I will try to keep the discussion as technical as possible. Similarly, I will not tolerate poor behaviour from your side towards other people (including myself).

If you don't have the time to contribute code, you may contribute by reporting issues or feature ideas. Please note that every feature added will increase maintenance burden on my part, so be mindful when suggesting things. It may be possible that your idea could exist as its own crate, offered as extensions to grammers.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


This module gathers all the code generation submodules and coordinates them, feeding them the right data.