What's ferogram?
⚡ High-performance Telegram MTProto framework written in Rust for building powerful Telegram clients, apps, and bots.
Official: @Ferogram, @FerogramBot & @FerogramChat
Docs: docs.rs/ferogram
Repository: github.com/ankit-chaubey/ferogram
Quick Guide: ferogram.ankitchaubey.in
Ferogram API Docs(raw): https://tgapis.github.io/x/ferogram
By Telegram API schema tracker
⚡ High-performance Telegram MTProto framework written in Rust for building powerful Telegram clients, apps, and bots.
Official: @Ferogram, @FerogramBot & @FerogramChat
Docs: docs.rs/ferogram
Repository: github.com/ankit-chaubey/ferogram
Quick Guide: ferogram.ankitchaubey.in
Ferogram API Docs(raw): https://tgapis.github.io/x/ferogram
By Telegram API schema tracker
Development will progress slowly over time.
Currently in a pre-production stage.
🔥3❤2
🚀 ferogram v0.3.0 is released
This release makes ferogram much more stable and production-ready.
Please read CHANGELOG.md for full details
GitHub: github.com/ankit-chaubey/ferogram
This is one of the biggest updates so far.
Around 15k+ lines changed, 2 new crates added, ~95 new public APIs, major bug fixes, stronger MTProto stability, better session handling, and full CDN download support.
• Added ferogram-session crate for session persistence
• Added ferogram-parsers crate for Markdown + HTML parsing
• Full CDN download support with decryption + reassembly
• Transport probing for automatic best transport selection
• Resilient connect with DNS-over-HTTPS fallback + Telegram special-config recovery
• New ExperimentalFeatures support in ClientBuilder
• Session format upgraded to v5 with much stronger persistence
• Many MTProto fixes, reconnect improvements, and internal cleanup
• Large docs expansion with new advanced guides + API references
This release makes ferogram much more stable and production-ready.
Please read CHANGELOG.md for full details
GitHub: github.com/ankit-chaubey/ferogram
🔥2❤1
Ferogram v0.3.3 Is out
bot framework layer: filters, FSM, middleware, conversation API
new example:
TODO: now all works will be made towards making ferogram more stable and bug fixes.
bot framework layer: filters, FSM, middleware, conversation API
#[derive(FsmState)]via new ferogram-derive crate · composable predicates with&/|/!· per-user/chat state with typed data storage · rate limit + panic recovery middlewares out of the box · stateful peer conversations with deadlines
new example:
examples/order_bot.rsTODO: now all works will be made towards making ferogram more stable and bug fixes.
🔥2❤1
Initial public release of Ferogram Python bindings, powered by the Rust MTProto core.
This release includes async client support, user and bot login, session handling, message sending, media support, update handlers, and raw MTProto access.
Available on PyPI with pre-built as well as source build support for Termux and other unsupported platforms.
https://pypi.org/project/ferogram/
This release includes async client support, user and bot login, session handling, message sending, media support, update handlers, and raw MTProto access.
Available on PyPI with pre-built as well as source build support for Termux and other unsupported platforms.
https://pypi.org/project/ferogram/
❤2🎉2👍1
🚀 ferogram v0.3.5 released
Focused on stability, safer update recovery, and cleaner startup for long-running MTProto clients.
Changes
• Fixed PollResults deserialization causing update parsing issues and state desync
• Fixed getDifference() self-deadlock during recovery
• Prevented duplicate concurrent recovery calls
• Removed automatic getDialogs() startup prefetch for faster startup
• Switched to lazy peer cache resolution with persisted peer cache
• Added optional warmup API:
Recommended update for userbots and production clients → v0.3.5
Focused on stability, safer update recovery, and cleaner startup for long-running MTProto clients.
Changes
• Fixed PollResults deserialization causing update parsing issues and state desync
• Fixed getDifference() self-deadlock during recovery
• Prevented duplicate concurrent recovery calls
• Removed automatic getDialogs() startup prefetch for faster startup
• Switched to lazy peer cache resolution with persisted peer cache
• Added optional warmup API:
client.warm_peer_cache_from_dialogs().await?; Recommended update for userbots and production clients → v0.3.5
❤2🔥2
🚀 ferogram v0.3.6 released
This update focuses on giving the high-level APIs their final shape before v0.4.0.
Some APIs have been simplified, merged, or removed where redundant. This may require a one-time migration, but ensures a cleaner experience with no overlapping methods going forward.
Once stabilized, future updates will focus on new features and improvements without disruptive API changes.
This update focuses on giving the high-level APIs their final shape before v0.4.0.
Some APIs have been simplified, merged, or removed where redundant. This may require a one-time migration, but ensures a cleaner experience with no overlapping methods going forward.
Once stabilized, future updates will focus on new features and improvements without disruptive API changes.
❤4
v0.3.7 is out 🦀
Three new crates this release
The main ferogram crate re-exports everything so nothing breaks.
Breaking:
Three new crates this release
ferogram-connect, ferogram-fsm and ferogram-mtsender are now standalone crates.The main ferogram crate re-exports everything so nothing breaks.
New: PeerExt and OptionPeerExt give you .bare_id() to pull a numeric ID out of any Peer without writing a match every time. PeerCache is now fully public.ExperimentalFeatures adds allow_zero_hash for bots.
Breaking:
· download_media_to_file → download_file
· forward_messages now takes a ForwardOptions fourth arg
· respond_ex removed respond already accepts InputMessage
cargo add ferogram@0.3.7
❤2👍1🔥1
🚀 ferogram-py v0.2.0 Released
The Python bindings for ferogram have been updated to v0.2.0.
📦 Installation
🔄 Changes
Fixed bugs introduced during refactoring
Corrected methods that previously had incorrect implementations (wrong function bodies swapped)
The Python bindings for ferogram have been updated to v0.2.0.
📦 Installation
pip install ferogram==0.2.0
🔄 Changes
Bumped Rust core from v0.3.7 → v0.3.8
Fixed bugs introduced during refactoring
Corrected methods that previously had incorrect implementations (wrong function bodies swapped)
❤3👍1🔥1
Ferogram v0.3.9 is out 🦀
Layer 225 support, a cleaner poll API, guest-chat support for bots and proper MarkdownV2 parsing.
(what's guest-chat?)
Breaking
New
•
•
•
Fixed duplicate entities in
Layer 225 support, a cleaner poll API, guest-chat support for bots and proper MarkdownV2 parsing.
(what's guest-chat?)
Breaking
send_poll now uses PollBuilder
parse_markdown now follows strict MarkdownV2
New
Better PollBuilder with quiz mode, auto-close, shuffle, solutions and more
Update::GuestChatQuery support for guest bots
•
delete_reaction(peer, msg_id, participant)•
get_poll_stats(peer, msg_id)•
BannedRights::send_reactionsHTML parser now supports <blockquote>, <tg-time>, <ins> and more
Fixed duplicate entities in
<pre><code class="language-X">
❤3🔥1
Ferogram
Ferogram v0.3.9 is out 🦀
Layer 225 support, a cleaner poll API, guest-chat support for bots and proper MarkdownV2 parsing.
(what's guest-chat?)
Layer 225 support, a cleaner poll API, guest-chat support for bots and proper MarkdownV2 parsing.
(what's guest-chat?)
Released v0.4.0
0.4.0 fixes that and is the correct release to use.
If you run into any bugs, please open an issue on GitHub or reach us at @FerogramChat
Thank you for using ferogram!
For the latest git revision: https://github.com/ankit-chaubey/ferogram
Also ferogram-py python binding for ferogram upgraded to v0.2.1
Becoz .. 0.3.9 was a broken publish. the workspace internal deps were not bumped so crates.io resolved ferogram-tl-types to the old Layer 224 build.
0.4.0 fixes that and is the correct release to use.
0.4.0 is considered as the production-ready release of ferogram. It ships Layer 225 support and a reworked poll API.All users are advised to upgrade to 0.4.0 (or 0.4.x+) as the most recommended and supported version.
If you run into any bugs, please open an issue on GitHub or reach us at @FerogramChat
Thank you for using ferogram!
For the latest git revision: https://github.com/ankit-chaubey/ferogram
Also ferogram-py python binding for ferogram upgraded to v0.2.1
❤1
ferogram v0.4.1 and ferogram-py v0.2.3 are out.
ferogram
• Client::quick_connect for full auth in one call
• Configurable update buffering
• low_memory_mode for Termux
• Auto session saving
• Salt overflow fix
• 15 new examples
ferogram-py
• 20 new Client(...) kwargs
• Full inline result fields exposed
• 10 new participant methods
• Added delete_reaction and get_poll_results
GitHub: github.com/ankit-chaubey/ferogram
PyPI: pypi.org/project/ferogram
ferogram
• Client::quick_connect for full auth in one call
• Configurable update buffering
• low_memory_mode for Termux
• Auto session saving
• Salt overflow fix
• 15 new examples
ferogram-py
• 20 new Client(...) kwargs
• Full inline result fields exposed
• 10 new participant methods
• Added delete_reaction and get_poll_results
GitHub: github.com/ankit-chaubey/ferogram
PyPI: pypi.org/project/ferogram
❤2