Telegram MTProto API Framework for Python
FTMGram
Elegant, modern and asynchronous Telegram MTProto API framework in Python — for users and bots
FTMGram is an actively maintained, feature-complete fork of Pyrogram with full Bot API 10.1 (June 2026) support. It is a drop-in replacement for Pyrogram and KuriGram with zero migration friction.
from ftmgram import Client, filters
app = Client("my_account")
@app.on_message(filters.private)
async def hello(client, message):
await message.reply("Hello from FTMGram!")
app.run()
What's New in v3.3.0 — Bot API 10.1
| Feature | Status |
|---|---|
Rich Messages — sendRichMessage, sendRichMessageDraft, editMessageText |
✅ |
| RichText — 14 inline text types (Bold, Italic, Url, Code, Marked, …) | ✅ |
| RichBlock — 19 block types (Paragraph, Photo, Video, Table, Slideshow, …) | ✅ |
Checklist media — MessageMediaType.CHECKLIST, Checklist, ChecklistTask |
✅ |
Link poll media — MessageMediaType.LINK, Link type |
✅ |
Chat join request queries — answerChatJoinRequestQuery, sendChatJoinRequestWebApp |
✅ |
User.supports_join_request_queries, Chat.guard_bot, ChatJoinRequest.query_id |
✅ |
Owned star balance — get_owned_star_count |
✅ |
Key Features
- Ready —
pip install ftmgramand start building immediately. - Easy — Clean, Pythonic API that hides MTProto complexity.
- Elegant — Low-level details abstracted into intuitive high-level types.
- Fast — Powered by TgCrypto, a C-level cryptography library.
- Type-hinted — Full type annotations for excellent IDE/editor support.
- Async — Fully asynchronous; synchronous usage also supported.
- Powerful — Complete access to Telegram's API — every official client action and more.
- Bot API 10.1 complete — Latest Telegram features covered on day one.
Installing
Stable (PyPI)
pip install ftmgram
Latest (GitHub)
pip install https://github.com/ftmdevz/ftmgram/archive/ftmdevz.zip --force-reinstall
Quick Example — Rich Message
from ftmgram import Client
from ftmgram.types import InputRichMessage, InputRichMessageContent, RichText
app = Client("my_bot", bot_token="TOKEN")
async def main():
await app.send_rich_message(
chat_id=123456,
rich_message=InputRichMessage(
title=RichText.plain("FTMGram Guide"),
content=[
InputRichMessageContent.paragraph(
text=RichText.concat([
RichText.bold("FTMGram"),
RichText.plain(" supports full Bot API 10.1!"),
])
)
]
)
)
app.run(main())
Support
FTMGram is open source. Support its development:
Thank you ❤️
Resources
- GitHub Repository
- PyPI Package
- Telegram Channel — news & updates
- Telegram Chat — community support
FTMGram is a fork of Pyrogram and FTMGram. Licensed under LGPLv3.
Metadata
Release files for ftmgram 3.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ftmgram-3.3.0.tar.gz | 4.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ftmgram-3.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.3 MB
Release files / ftmgram-3.3.0.tar.gz
| Download URL | ftmgram-3.3.0.tar.gz |
|---|---|
| Size | 4.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95c0d00f01893cd6a909c490ec650658841b34d8405e5e9239dc3055deea2eb9
|
|
BLAKE2b-256 checksum How to use checksums |
433cba30d70ca5ef35b210b73a1224ef99516e38a011119d414a52de0a78dc84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ftmgram-3.3.0-py3-none-any.whl
| Download URL | ftmgram-3.3.0-py3-none-any.whl |
|---|---|
| Size | 6.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cdce3298adeb7f2f53ce25e294c5dc84f06d8012c1748576cbe2c96ff6728854
|
|
BLAKE2b-256 checksum How to use checksums |
7546a17b2187eae655ee84b1b30c6a5e28d5d0442c51b04ebd4b77b59602b55b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|