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
Release files for PyroMt 2.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyromt-2.4.1.tar.gz | 1.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyromt-2.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.2 MB
Release files / pyromt-2.4.1.tar.gz
| Download URL | pyromt-2.4.1.tar.gz |
|---|---|
| Size | 1.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
64931054c0bb99fa856b2bcbfb2eb90b0fa59e3499e01c7796d42b68db7cd6f4
|
|
BLAKE2b-256 checksum How to use checksums |
5124b6de7944f742f5bc2aab84e4ff31faa0ad4186aebc6868959d2b45cac30f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / pyromt-2.4.1-py3-none-any.whl
| Download URL | pyromt-2.4.1-py3-none-any.whl |
|---|---|
| Size | 4.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
765b33a549d56e3c9433e73624a34d87b8005816cf4e59aaa9893536c2151b07
|
|
BLAKE2b-256 checksum How to use checksums |
996c2fcf8dc4cc3a8238442e6ddab83c0b0a1f11f0efc65a1fd13ce5f6fcbe49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|