MTPyroger/README.rst

223 lines
5.2 KiB
ReStructuredText
Raw Normal View History

2017-12-10 19:43:31 +00:00
|header|
Table of Contents
=================
- `Overview`_
- `Requirements`_
- `Installation`_
- `Getting Started`_
2017-12-11 07:59:11 +00:00
- `Development`_
- `Documentation`_
2017-12-10 19:43:31 +00:00
- `Contribution`_
- `Feedback`_
2017-12-17 13:22:03 +00:00
- `License`_
2017-12-10 19:43:31 +00:00
2017-12-11 07:59:11 +00:00
Overview
2017-12-10 19:43:31 +00:00
========
**Pyrogram** is a Client Library written from the ground up in Python, designed
for Python application developers. It offers simple and complete access to the
`Telegram Messenger API`_. Pyrogram:
- Provides idiomatic, developer-friendly Python code (either generated or
hand-written) making the Telegram API simple to use.
- Handles all the low-level details of communication with the Telegram servers
by implementing the `MTProto Mobile Protocol v2.0`_.
2017-12-11 08:21:29 +00:00
- Makes use of the latest Telegram API version (`Layer 73`_).
2017-12-10 19:43:31 +00:00
- Can be easily installed and upgraded using ``pip``.
- Requires a minimal set of dependencies.
Requirements
============
- Python 3.3 or higher.
- A Telegram API key.
Installation
============
2017-12-21 15:00:04 +00:00
You can easily install and upgrade the library using standard Python tools:
2017-12-10 19:43:31 +00:00
.. code:: shell
$ pip install --upgrade pyrogram
2017-12-21 15:00:04 +00:00
2017-12-10 19:43:31 +00:00
Getting Started
===============
2017-12-21 15:00:04 +00:00
- 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`_:
2017-12-10 19:43:31 +00:00
2017-12-21 15:00:04 +00:00
.. code:: ini
[pyrogram]
api_id = 12345
api_hash = 0123456789abcdef0123456789abcdef
- Then you can start with this:
.. code:: python
from pyrogram import Client
client = Client(session_name="example")
client.start()
# Get information about yourself
print(client.get_me())
That's all you need for getting started with Pyrogram. For more detailed information,
please refer to the `Wiki`_:
- `Introduction`_
2017-12-10 19:43:31 +00:00
2017-12-11 07:59:11 +00:00
Development
===========
The library is still in its early stages, thus lots of functionalities aiming to
2017-12-17 13:28:16 +00:00
make working with Telegram's API easy are yet to be added and documented.
2017-12-11 07:59:11 +00:00
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
=============
Soon. For now, have a look at the ``pyrogram.Client`` code to get some insights.
Currently you are able to easily:
- ``send_message``
- ``forward_messages``
- ``edit_message_text``
- ``delete_messages``
- ``send_chat_action``
- Some more...
as well as listening for updates and catching API errors.
2017-12-10 19:43:31 +00:00
Contribution
============
2017-12-11 07:59:11 +00:00
**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!
2017-12-10 19:43:31 +00:00
Feedback
========
2017-12-11 07:59:11 +00:00
Means for getting in touch:
2017-12-10 19:43:31 +00:00
- `Telegram`_
2017-12-15 08:48:14 +00:00
- `GitHub`_
2017-12-10 19:43:31 +00:00
- `Email`_
2017-12-17 13:22:03 +00:00
License
=======
2017-12-10 19:43:31 +00:00
- Copyright (C) 2017 Dan Tès <https://github.com/delivrance>
- Licensed under the terms of the
`GNU Lesser General Public License v3 or later (LGPLv3+)`_
.. _`Telegram Messenger API`: https://core.telegram.org/api#telegram-api
.. _`MTProto Mobile Protocol v2.0`: https://core.telegram.org/mtproto
2017-12-11 08:21:29 +00:00
.. _`Layer 73`: compiler/api/source/main_api.tl
2017-12-10 19:43:31 +00:00
2017-12-17 13:22:03 +00:00
.. _`Wiki`: https://github.com/pyrogram/pyrogram/wiki
2017-12-10 19:43:31 +00:00
2017-12-21 15:00:04 +00:00
.. _`your own`: https://github.com/pyrogram/pyrogram/wiki/Getting-Started#api-keys
.. _`Introduction`: https://github.com/pyrogram/pyrogram/wiki/Getting-Started
2017-12-10 19:43:31 +00:00
2017-12-17 13:22:03 +00:00
.. _`Telegram`: https://t.me/joinchat/AWDQ8lK2HgBN7ka4OyWVTw
2017-12-10 19:43:31 +00:00
.. _`bot-like`: https://core.telegram.org/bots/api#available-methods
2017-12-15 08:48:14 +00:00
.. _`GitHub`: https://github.com/pyrogram/pyrogram/issues
2017-12-10 19:43:31 +00:00
.. _`Email`: admin@pyrogram.ml
.. _`GNU Lesser General Public License v3 or later (LGPLv3+)`: COPYING.lesser
.. |header| raw:: html
<h1 align="center">
2017-12-12 09:49:44 +00:00
<a href="https://pyrogram.ml">
<img src="https://pyrogram.ml/images/logo.png" alt="Pyrogram">
2017-12-10 19:43:31 +00:00
</a>
</h1>
<p align="center">
<b>Telegram MTProto API Client Library for Python</b>
2017-12-21 15:00:04 +00:00
2017-12-17 13:22:03 +00:00
<br>
2017-12-21 15:00:04 +00:00
<a href="https://pypi.python.org/pypi/Pyrogram">
Download
</a>
2017-12-17 13:22:03 +00:00
<a href="https://github.com/pyrogram/pyrogram/wiki">
Wiki
</a>
<a href="https://t.me/joinchat/AWDQ8lK2HgBN7ka4OyWVTw">
Telegram Group
</a
<br><br><br>
2017-12-12 09:49:44 +00:00
<a href="compiler/api/source/main_api.tl">
2017-12-18 14:02:19 +00:00
<img src="https://www.pyrogram.ml/images/scheme.svg"
2017-12-11 08:21:29 +00:00
alt="Scheme Layer 73">
2017-12-10 19:43:31 +00:00
</a>
2017-12-12 09:49:44 +00:00
<a href="https://core.telegram.org/mtproto">
2017-12-18 14:02:19 +00:00
<img src="https://www.pyrogram.ml/images/mtproto.svg"
2017-12-10 19:43:31 +00:00
alt="MTProto v2.0">
</a>
</p>
2017-12-12 09:49:44 +00:00
.. |logo| image:: https://pyrogram.ml/images/logo.png
:target: https://pyrogram.ml
2017-12-10 19:43:31 +00:00
:alt: Pyrogram
.. |description| replace:: **Telegram MTProto API Client Library for Python**
2017-12-18 14:02:19 +00:00
.. |scheme| image:: https://www.pyrogram.ml/images/scheme.svg
2017-12-12 09:49:44 +00:00
:target: compiler/api/source/main_api.tl
2017-12-11 08:21:29 +00:00
:alt: Scheme Layer 73
2017-12-10 19:43:31 +00:00
2017-12-18 14:02:19 +00:00
.. |mtproto| image:: https://www.pyrogram.ml/images/mtproto.svg
2017-12-12 09:49:44 +00:00
:target: https://core.telegram.org/mtproto
:alt: MTProto v2.0