Skip to main content

Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots

Project description

FTMGram
Telegram MTProto API Framework for Python

PyPI version License Python versions GitHub Stars


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.0.0 — Bot API 10.1

Feature Status
Rich MessagessendRichMessage, sendRichMessageDraft, editMessageText
RichText — 14 inline text types (Bold, Italic, Url, Code, Marked, …)
RichBlock — 19 block types (Paragraph, Photo, Video, Table, Slideshow, …)
Checklist mediaMessageMediaType.CHECKLIST, Checklist, ChecklistTask
Link poll mediaMessageMediaType.LINK, Link type
Chat join request queriesanswerChatJoinRequestQuery, sendChatJoinRequestWebApp
User.supports_join_request_queries, Chat.guard_bot, ChatJoinRequest.query_id
Owned star balanceget_owned_star_count

Key Features

  • Readypip install ftmgram and 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


FTMGram is a fork of Pyrogram and FTMGram. Licensed under LGPLv3.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ftmgram-3.0.0.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ftmgram-3.0.0-py3-none-any.whl (5.9 MB view details)

Uploaded Python 3

File details

Details for the file ftmgram-3.0.0.tar.gz.

File metadata

  • Download URL: ftmgram-3.0.0.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ftmgram-3.0.0.tar.gz
Algorithm Hash digest
SHA256 af1f5f42512ecd2ab9dcf3d3d2a4c76ef36da135caaa159624b15fc61f02d04f
MD5 9a097a47715c0f84301f208eee352df6
BLAKE2b-256 16bf1e1cee19acba3d3fddaccf499fe96e8fe94055f6a250d36df15b26384e81

See more details on using hashes here.

File details

Details for the file ftmgram-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: ftmgram-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ftmgram-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ad777379ef2a06f846ec67e4a350bea449c62f2eba2518aad2fe16ee18a8874
MD5 88098f02573e47fe6e96d372b8c1a6e6
BLAKE2b-256 aa8ccb7237bc45b5a6f4aa4b4787e5d177b7d17b1f78a4806a47507097776139

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page