Fork of pyrogram. Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots
Project description
Srigram is an elegant, asynchronous, and deeply customizable Python framework built directly on top of the Telegram MTProto API. It empowers developers to build highly scalable bots and user accounts with minimal boilerplate.
⚡️ Why Srigram?
When building production-grade Telegram applications, you need a framework that doesn't just work, but stays ahead of the curve.
- Modern UI Support: Natively supports the latest Telegram UI updates, including Bot API 9.4+ colored keyboards (
primary,danger,success) and Custom Premium Emojis directly on buttons. - High-Concurrency Ready: Engineered from the ground up on Python's
asyncioto handle thousands of concurrent updates seamlessly. - Unified Ecosystem: Write identical, intuitive code for both standard Bot Accounts and User Accounts (Userbots).
- Direct MTProto Access: Built for power users. Drop down to raw MTProto schema methods whenever you need precise control over Telegram's backend.
⚙️ Installation
Install Srigram and its core dependencies via PyPI:
pip install -U srigram
Requires Python 3.8 or higher.
🚀 Quick Start
1. The Standard Bot
Building a highly responsive bot takes less than 15 lines of code.
from srigram import Client, filters
app = Client(
"my_bot",
api_id=1234567,
api_hash="your_api_hash_here",
bot_token="your_bot_token"
)
@app.on_message(filters.command("start") & filters.private)
async def hello(client, message):
await message.reply_text("Hello from Srigram! 🚀")
if __name__ == "__main__":
app.run()
2. Advanced: Smart Keyboards & Custom Emojis
Srigram makes it incredibly easy to utilize advanced Telegram UI features natively.
from srigram import Client, filters
from srigram.types import InlineKeyboardMarkup, InlineKeyboardButton
@app.on_message(filters.command("menu"))
async def send_menu(client, message):
keyboard = InlineKeyboardMarkup(
[
[
InlineKeyboardButton(
"Confirm Action",
callback_data="confirm",
style="success", # Renders a green button
icon_custom_emoji_id=5368324170671202286 # Native premium emoji support
)
]
]
)
await message.reply_text("Please confirm your action below:", reply_markup=keyboard)
🤝 Contributing & Support
Srigram is actively maintained and thrives on community feedback. Whether you are hunting bugs, proposing features, or just want to show off what you've built:
- Issue Tracker: Report bugs or request features
- Community & News: Join the Srigram Telegram Channel
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file srigram-2.4.1.tar.gz.
File metadata
- Download URL: srigram-2.4.1.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9316579de849d2d63d78690dd7de81b510780db20feaa1eaeccf8ce1ca3ed50
|
|
| MD5 |
7d33971ec4f6423a1023b778d861ee37
|
|
| BLAKE2b-256 |
2bd1b545af6b9d6e02f70c071083ecf2c7ac3728f00285b962b901752202c83d
|
File details
Details for the file srigram-2.4.1-py3-none-any.whl.
File metadata
- Download URL: srigram-2.4.1-py3-none-any.whl
- Upload date:
- Size: 4.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b51919199d72415a704a534d12017ee1eb9ed8972ed36fc4e2593fafe0a111e
|
|
| MD5 |
24b24e60efdc7cef7cbd67a10bf0b7c2
|
|
| BLAKE2b-256 |
c0d310bed0da48e725d983ab2a917be26888a7b14e75456e64b5dce3bf53505b
|