{"id":20149538,"url":"https://github.com/lonami/grammers","last_synced_at":"2025-05-14T02:04:52.033Z","repository":{"id":37525794,"uuid":"236215837","full_name":"Lonami/grammers","owner":"Lonami","description":"(tele)gramme.rs - use Telegram's API from Rust","archived":false,"fork":false,"pushed_at":"2025-04-23T16:20:28.000Z","size":2180,"stargazers_count":656,"open_issues_count":20,"forks_count":133,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-05-10T23:48:41.353Z","etag":null,"topics":["api","grammers","hacktoberfest","library","mtproto","rust-library","telegram","telegram-api"],"latest_commit_sha":null,"homepage":"https://t.me/gramme_rs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lonami.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-01-25T19:03:37.000Z","updated_at":"2025-05-09T10:44:40.000Z","dependencies_parsed_at":"2023-01-31T07:31:11.173Z","dependency_job_id":"90ee8d06-677a-4c0f-8b48-09c03bc2e4fb","html_url":"https://github.com/Lonami/grammers","commit_stats":{"total_commits":1048,"total_committers":60,"mean_commits":"17.466666666666665","dds":"0.24904580152671751","last_synced_commit":"a3c1f6ccacad2c696b3d4fc0a25819e73827da2c"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lonami%2Fgrammers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lonami%2Fgrammers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lonami%2Fgrammers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lonami%2Fgrammers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lonami","download_url":"https://codeload.github.com/Lonami/grammers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254052692,"owners_count":22006716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","grammers","hacktoberfest","library","mtproto","rust-library","telegram","telegram-api"],"created_at":"2024-11-13T22:45:56.704Z","updated_at":"2025-05-14T02:04:51.999Z","avatar_url":"https://github.com/Lonami.png","language":"Rust","readme":"# gramme.rs\n\nA set of Rust libraries to interact with Telegram's API, hence the name *(tele)gramme.rs*.\n\n## Current status\n\nIt works! The high-level interface is slowly taking shape, and it can already be used to [build\nreal projects], such as [RSS bots].\n\nFor an up-to-date taste on how the library looks like, refer to the [client examples] folder.\n\nFor more documentation, please refer to \u003chttps://docs.rs/grammers-client/\u003e.\n\n## Libraries\n\nThe following libraries under [`lib/`] can be used to work with Telegram in some way:\n\n* **[grammers-client]**: high-level API.\n* **[grammers-crypto]**: cryptography-related methods.\n* **[grammers-mtproto]**: implementation of the [Mobile Transport Protocol].\n* **[grammers-mtsender]**: network connection to Telegram.\n* **[grammers-session]**: session storages for the client.\n* **[grammers-tl-gen]**: Rust code generator from TL definitions.\n* **[grammers-tl-parser]**: a [Type Language] parser.\n* **[grammers-tl-types]**: generated Rust types for a certain layer.\n\n## Binaries\n\nThe following auxiliary CLI tools are available in the [`bin/`] folder:\n\n* **[scrape-docs]**: scrape Telegram's website to obtain raw API documentation.\n* **[tl-to-json]**: tool to read `.tl` and output `.json`, equivalent to\n  [Telegram's JSON schema][tl-json].\n\n## Security\n\nIt is recommended to always use [cargo-crev] to verify the trustworthiness of each of your\ndependencies, including this one.\n\nAs far as I know, this code has not been audited, so if, for any reason, you're using this crate\nwhere security is critical, I strongly encourage you to review at least `grammers-crypto` and the\nauthentication part of `grammers-mtproto`. I am not a security expert, although I trust my code\nenough to use it myself.\n\nIf you know about some published audit for this crate, please let me know, so that I can link it\nhere and review the issues found.\n\n## License\n\nAll the libraries and binaries contained in this repository are licensed under either of\n\n* Apache License, Version 2.0 ([LICENSE-APACHE] or\n  http://www.apache.org/licenses/LICENSE-2.0)\n\n* MIT license ([LICENSE-MIT] or http://opensource.org/licenses/MIT)\n\nat your option.\n\n## Contribution\n\nThank you for considering to contribute! I'll try my best to provide quick, constructive feedback\non your issues or pull requests. Please do call me out if you think my behaviour is not acceptable\nat any time. I will try to keep the discussion as technical as possible. Similarly, I will not\ntolerate poor behaviour from your side towards other people (including myself).\n\nIf you don't have the time to [contribute code], you may contribute by [reporting issues] or\nfeature ideas. Please note that every feature added will increase maintenance burden on my part,\nso be mindful when suggesting things. It may be possible that your idea could exist as its own\ncrate, offered as [extensions to grammers].\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n\n[build real projects]: https://github.com/Lonami/grammers/wiki/Real-world-projects\n[RSS bots]: https://github.com/Lonami/srsrssrsbot\n[client examples]: lib/grammers-client/examples\n[Mobile Transport Protocol]: https://core.telegram.org/mtproto\n[Type Language]: https://core.telegram.org/mtproto/TL\n[`lib/`]: lib/\n[grammers-client]: lib/grammers-client/\n[grammers-crypto]: lib/grammers-crypto/\n[grammers-mtproto]: lib/grammers-mtproto/\n[grammers-mtsender]: lib/grammers-mtsender/\n[grammers-session]: lib/grammers-session/\n[grammers-tl-gen]: lib/grammers-tl-gen/\n[grammers-tl-parser]: lib/grammers-tl-parser/\n[grammers-tl-types]: lib/grammers-tl-types/\n[`bin/`]: bin/\n[scrape-docs]: bin/scrape-docs/\n[tl-to-json]: bin/tl-to-json/\n[tl-json]: https://core.telegram.org/schema/json\n[cargo-crev]: https://github.com/crev-dev/cargo-crev\n[LICENSE-APACHE]: LICENSE-APACHE\n[LICENSE-MIT]: LICENSE-MIT\n[contribute code]: https://github.com/Lonami/grammers/compare\n[reporting issues]: https://github.com/Lonami/grammers/issues/new\n[extensions to grammers]: https://github.com/Lonami/grammers/wiki/Client-extensions\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flonami%2Fgrammers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flonami%2Fgrammers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flonami%2Fgrammers/lists"}