Skip to main content

Telegram MTProto API Client Library for Python

Project description

Pyrogram

Telegram MTProto API Client Library for Python

Scheme Layer 74 MTProto v2.0

Table of Contents

Overview

Pyrogram is a fully functional Telegram Client Library written from the ground up in Python. It offers simple and complete access to the Telegram Messenger API and is designed for Python developers keen on building custom Telegram applications.

Features

  • Easy to setup: Pyrogram can be easily installed and upgraded using pip, requires a minimal set of dependencies (which are also automatically managed) and very few lines of code to get started with.

  • Easy to use: Pyrogram provides idiomatic, developer-friendly, clean and readable Python code (either generated or hand-written) making the Telegram API simple to use.

  • High level: Pyrogram automatically handles all the low-level details of communication with the Telegram servers by implementing the MTProto Mobile Protocol v2.0 and the mechanisms needed for establishing a reliable connection.

  • Updated: Pyrogram makes use of the latest Telegram API version, currently Layer 74.

  • Documented: Pyrogram API public 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-like methods offered by the Pyrogram API, the library also provides a complete, low-level access to every single Telegram API method.

Requirements

  • Python 3.3 or higher.

  • A Telegram API key.

Getting Started

Installation

  • You can easily install and upgrade the library using standard Python tools:

    $ pip install --upgrade pyrogram

Setup

  • 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

Usage

  • You can now start by running the code below from a new Python file.

    from pyrogram import Client
    
    # Create and start a new Client
    client = Client(session_name="example")
    client.start()
    
    # Send a text message to yourself (Saved Messages)
    client.send_message(
        chat_id="me",
        text="Hi there! I'm using Pyrogram"
    )
    
    # When done, stop the Client
    client.stop()

That’s all you need for getting started with Pyrogram. For more detailed information, please refer to the documentation:

Development

The library is still in its early stages, thus lots of functionalities aiming to make working with Telegram’s API easy are yet to be added and documented.

However, being the core functionalities already implemented, every Telegram API method listed in the API scheme can be used right away; the goal is therefore to build a powerful, simple to use, bot-like interface on top of those low-level functions.

Documentation

Contribution

You are very welcome to contribute 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!

Feedback

Means for getting in touch:

License

Project details


Release history Release notifications | RSS feed

This version

0.3.3

Download files

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

Source Distribution

Pyrogram-0.3.3.tar.gz (78.1 kB view hashes)

Uploaded Source

Supported by

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