Metadata-Version: 2.4
Name: irenogram
Version: 2.3.79
Summary: Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots
Project-URL: Homepage, https://github.com/abirxdhack/irenogram
Project-URL: Source, https://github.com/abirxdhack/irenogram
Project-URL: Issues, https://github.com/abirxdhack/irenogram/issues
Project-URL: Community, https://t.me/ISmartCoder
Project-URL: Author, https://github.com/abirxdhack
Author-email: Abir Arafat Chawdhury <abirxdhackz@gmail.com>
License-Expression: LGPL-3.0-or-later
License-File: COPYING
License-File: COPYING.lesser
Keywords: api,chat,client,library,messenger,mtproto,python,telegram
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Communications
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Requires-Dist: pyaes<=1.6.1
Requires-Dist: pysocks<=1.7.1
Provides-Extra: dev
Requires-Dist: hatch<=1.16.2; extra == 'dev'
Requires-Dist: pytest-asyncio<=1.3.0; extra == 'dev'
Requires-Dist: pytest-cov<=7.0.0; extra == 'dev'
Requires-Dist: pytest<=9.0.2; extra == 'dev'
Requires-Dist: twine<=6.2.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: furo; extra == 'docs'
Requires-Dist: pymediainfo; extra == 'docs'
Requires-Dist: pysocks; extra == 'docs'
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-copybutton; extra == 'docs'
Provides-Extra: fast
Requires-Dist: tgcrypto<=1.2.5; extra == 'fast'
Requires-Dist: uvloop<=0.21.0; (sys_platform == 'darwin' or sys_platform == 'linux') and extra == 'fast'
Description-Content-Type: text/markdown

<p align="center">
  <img src="docs_static/irenogram.png" alt="Irenogram" width="128"/>
</p>

<h1 align="center">Irenogram</h1>

<p align="center">
  <b>Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots.</b>
</p>

<p align="center">
  <a href="https://pypi.org/project/irenogram/"><img src="https://img.shields.io/pypi/v/irenogram.svg" alt="PyPI"/></a>
  <a href="https://pypi.org/project/irenogram/"><img src="https://img.shields.io/pypi/pyversions/irenogram.svg" alt="Python"/></a>
  <a href="https://www.gnu.org/licenses/lgpl-3.0.html"><img src="https://img.shields.io/pypi/l/irenogram.svg" alt="License"/></a>
</p>

---

Irenogram is a production-ready, actively maintained Pyrogram fork — fully compatible with existing Pyrogram code. Install as `irenogram`, import as `pyrogram`. No migration needed.

## Features

- **Telegram Bot API 9.6** — Managed Bots, Poll Revolution, Mini App keyboard buttons, new entity types
- **Layer 224** MTProto — full schema coverage, all 2,200+ TL types implemented
- **Managed Bots** — create, control and fetch tokens for bots via API
- **Poll Revolution** — multiple correct answers, revoting, hidden results, shuffle, dynamic options
- **Entity Expansion** — `FORMATTED_DATE`, `DIFF_INSERT`, `DIFF_REPLACE`, `DIFF_DELETE`
- **Todo/Checklist** — full send, append, complete/incomplete support
- **Stable sessions** — no unknown constructor errors, fixed MTProto framing
- **Python 3.8+** — fully async, works with `asyncio` and frameworks

## Installation

```bash
pip install irenogram
```

## Quick Start

```python
from pyrogram import Client

app = Client("my_account")

@app.on_message()
async def handle(client, message):
    await message.reply("Hello!")

app.run()
```

## Bot API 9.6 Examples

```python
from pyrogram import Client
from pyrogram.types import PollOption, KeyboardButton, RequestPeerTypeManagedBot

app = Client("my_bot", bot_token="...")

@app.on_managed_bot()
async def on_new_managed_bot(client, managed_bot):
    token = await client.get_managed_bot_token(managed_bot.bot_id)
    print(f"New bot token: {token}")

async def main():
    async with app:
        await app.send_poll(
            chat_id="me",
            question="Best language?",
            options=[PollOption("Python"), PollOption("Go"), PollOption("Rust")],
            allows_revoting=True,
            hide_results_until_close=True,
            correct_option_ids=[0],
        )
```

## Links

- **Docs**: [abirxdhack.github.io/irenogram](https://abirxdhack.github.io/irenogram)
- **Author**: [github.com/abirxdhack](https://github.com/abirxdhack)
- **Repository**: [github.com/abirxdhack/irenogram](https://github.com/abirxdhack/irenogram)
- **Community**: [t.me/ISmartCoder](https://t.me/ISmartCoder)
- **Issues**: [github.com/abirxdhack/irenogram/issues](https://github.com/abirxdhack/irenogram/issues)

## License

Irenogram is distributed under the terms of the
[GNU Lesser General Public License v3 (LGPLv3)](https://www.gnu.org/licenses/lgpl-3.0.html).
