MTPyroger/README.rst

206 lines
5.2 KiB
ReStructuredText
Raw Normal View History

2017-12-10 19:43:31 +00:00
|header|
Table of Contents
=================
2018-02-17 14:35:49 +00:00
- `About`_
2017-12-10 19:43:31 +00:00
2018-01-01 20:47:12 +00:00
- `Features`_
- `Requirements`_
2017-12-10 19:43:31 +00:00
- `Getting Started`_
2018-01-02 15:29:15 +00:00
- `Installation`_
2018-01-08 05:45:07 +00:00
- `Configuration`_
2018-01-02 15:29:15 +00:00
- `Usage`_
2017-12-10 19:43:31 +00:00
2017-12-11 07:59:11 +00:00
- `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
2018-02-17 14:35:49 +00:00
About
=====
2017-12-10 19:43:31 +00:00
2018-03-24 16:22:57 +00:00
**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.
2017-12-10 19:43:31 +00:00
2018-01-01 20:47:12 +00:00
Features
--------
2017-12-10 19:43:31 +00:00
2018-03-24 16:22:57 +00:00
- **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.
2018-02-17 14:35:49 +00:00
2018-03-24 16:22:57 +00:00
- **High-level**: Pyrogram automatically handles all the low-level details of communication with Telegram servers.
2018-02-17 14:35:49 +00:00
2018-03-24 16:22:57 +00:00
- **Updated**: Pyrogram makes use of the latest Telegram MTProto API version, currently Layer 76.
2018-02-17 14:35:49 +00:00
2018-03-24 16:22:57 +00:00
- **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.
2017-12-10 19:43:31 +00:00
2018-03-24 16:22:57 +00:00
- **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.
2017-12-10 19:43:31 +00:00
Requirements
2018-01-01 20:47:12 +00:00
------------
2017-12-10 19:43:31 +00:00
2018-03-24 16:22:57 +00:00
- Python 3.4 or higher.
2017-12-10 19:43:31 +00:00
- A Telegram API key.
2018-01-02 15:29:15 +00:00
2017-12-10 19:43:31 +00:00
2018-01-02 15:29:15 +00:00
Getting Started
===============
2017-12-10 19:43:31 +00:00
Installation
2018-01-02 15:29:15 +00:00
------------
2017-12-10 19:43:31 +00:00
2018-03-24 16:22:57 +00:00
- You can install and upgrade Pyrogram using pip:
2017-12-10 19:43:31 +00:00
2018-01-02 15:29:15 +00:00
.. code:: shell
2017-12-10 19:43:31 +00:00
2018-03-11 18:32:22 +00:00
$ pip3 install --upgrade pyrogram
2017-12-10 19:43:31 +00:00
2018-01-08 05:45:07 +00:00
Configuration
-------------
2017-12-10 19:43:31 +00:00
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
2018-01-02 15:29:15 +00:00
Usage
-----
2018-03-24 16:22:57 +00:00
- And here is how Pyrogram looks like:
2017-12-21 15:00:04 +00:00
.. code:: python
from pyrogram import Client
2018-01-08 05:45:07 +00:00
client = Client("example")
2017-12-21 15:00:04 +00:00
client.start()
2018-01-02 15:29:15 +00:00
2018-01-08 05:45:07 +00:00
client.send_message("me", "Hi there! I'm using Pyrogram")
2018-01-02 15:29:15 +00:00
client.stop()
2017-12-21 15:00:04 +00:00
That's all you need for getting started with Pyrogram. For more detailed information,
2018-03-24 16:22:57 +00:00
please refer to the Documentation_ and the Examples_ folder.
2017-12-21 15:00:04 +00:00
2017-12-10 19:43:31 +00:00
2017-12-11 07:59:11 +00:00
Documentation
=============
2018-03-24 16:22:57 +00:00
- The entire Pyrogram documentation resides at https://docs.pyrogram.ml.
2017-12-10 19:43:31 +00:00
2018-01-08 05:45:07 +00:00
2017-12-10 19:43:31 +00:00
Contribution
============
2018-03-24 16:22:57 +00:00
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!
2017-12-10 19:43:31 +00:00
Feedback
========
2017-12-11 07:59:11 +00:00
Means for getting in touch:
2018-02-17 14:35:49 +00:00
- `Community`_
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
2018-01-01 12:44:33 +00:00
- Copyright (C) 2017-2018 Dan Tès <https://github.com/delivrance>
2017-12-10 19:43:31 +00:00
- Licensed under the terms of the
`GNU Lesser General Public License v3 or later (LGPLv3+)`_
2018-03-24 16:22:57 +00:00
.. _`Telegram`: https://telegram.org/
2017-12-10 19:43:31 +00:00
2018-03-24 16:22:57 +00:00
.. _`your own`: https://docs.pyrogram.ml/start/ProjectSetup#api-keys
2017-12-10 19:43:31 +00:00
2018-03-24 16:22:57 +00:00
.. _`Examples`: https://github.com/pyrogram/pyrogram/blob/master/examples/README.md
2017-12-10 19:43:31 +00:00
2018-02-17 14:35:49 +00:00
.. _`Community`: https://t.me/PyrogramChat
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
2018-02-17 20:52:27 +00:00
.. _TgCrypto: https://github.com/pyrogram/tgcrypto
2018-02-17 14:35:49 +00:00
2017-12-10 19:43:31 +00:00
.. _`GNU Lesser General Public License v3 or later (LGPLv3+)`: COPYING.lesser
.. |header| raw:: html
<h1 align="center">
2018-03-24 16:22:57 +00:00
<a href="https://github.com/pyrogram/pyrogram">
<div><img src="https://media.pyrogram.ml/images/icon.png" alt="Pyrogram Icon"></div>
<div><img src="https://media.pyrogram.ml/images/label.png" alt="Pyrogram Label"></div>
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>
2018-02-17 14:35:49 +00:00
<a href="https://github.com/pyrogram/pyrogram/releases/latest">
2017-12-31 10:00:33 +00:00
Download
</a>
2017-12-30 20:51:51 +00:00
<a href="https://docs.pyrogram.ml">
Documentation
</a>
2018-01-07 12:11:14 +00:00
<a href="https://t.me/PyrogramChat">
2018-01-01 12:44:33 +00:00
Community
2018-02-19 14:12:19 +00:00
</a>
<br><br>
2017-12-12 09:49:44 +00:00
<a href="compiler/api/source/main_api.tl">
2018-03-24 16:22:57 +00:00
<img src="https://media.pyrogram.ml/images/scheme.svg"
alt="Scheme Layer 76">
2017-12-10 19:43:31 +00:00
</a>
2018-02-17 14:35:49 +00:00
<a href="https://github.com/pyrogram/tgcrypto">
2018-03-24 16:22:57 +00:00
<img src="https://media.pyrogram.ml/images/tgcrypto.svg"
2018-02-17 14:35:49 +00:00
alt="TgCrypto">
2017-12-10 19:43:31 +00:00
</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
2018-03-24 16:22:57 +00:00
:alt: Scheme Layer 76
2017-12-10 19:43:31 +00:00
2018-02-17 14:35:49 +00:00
.. |tgcrypto| image:: https://www.pyrogram.ml/images/tgcrypto.svg
:target: https://github.com/pyrogram/tgcrypto
:alt: TgCrypto