Telegram MTProto API Client Library for Python
Download
•
Documentation
•
Community
Pyrogram is a brand new Telegram Client Library written from the ground up in Python and C. It can be used for building custom Telegram applications in Python that interact with the MTProto API as both User and Bot.
- Easy to setup: Pyrogram can be easily installed using pip and requires very few lines of code to get started with.
- Easy to use: Pyrogram provides idiomatic, clean and readable Python code making the Telegram API simple to use.
- High-level: Pyrogram automatically handles all the low-level details of communication with Telegram servers.
- Updated: Pyrogram makes use of the latest Telegram MTProto API version, currently Layer 76.
- Fast: Pyrogram critical parts are boosted up by TgCrypto, a high-performance Crypto Library written in pure C.
- Documented: Pyrogram API methods are documented and resemble the well established Telegram Bot API, thus offering a familiar look to Bot developers.
- Full API support: Beside the simple Bot API-like methods, Pyrogram also provides an easy access to every single Telegram MTProto API method allowing you to programmatically execute any action an official client is able to do, and more.
- Python 3.4 or higher.
- A Telegram API key.
You can install and upgrade Pyrogram using pip:
$ pip3 install --upgrade pyrogram
Create a new
config.ini
file at the root of your working directory, copy-paste the following and replace the api_id and api_hash values with your own:[pyrogram] api_id = 12345 api_hash = 0123456789abcdef0123456789abcdef
And here is how Pyrogram looks like:
from pyrogram import Client client = Client("example") client.start() client.send_message("me", "Hi there! I'm using Pyrogram") client.stop()
That's all you need for getting started with Pyrogram. For more detailed information, please refer to the Documentation and the Examples folder.
- The entire Pyrogram documentation resides at https://docs.pyrogram.ml.
Pyrogram is brand new! You are welcome to try it and help make it better by either submitting pull requests or reporting issues/bugs as well as suggesting best practices, ideas, enhancements on both code and documentation. Any help is appreciated!
Means for getting in touch:
- Copyright (C) 2017-2018 Dan Tès <https://github.com/delivrance>
- Licensed under the terms of the GNU Lesser General Public License v3 or later (LGPLv3+)