Update README.rst

This commit is contained in:
Dan 2017-12-17 14:22:03 +01:00 committed by GitHub
parent 53e74e34ad
commit 70faa86a09
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,22 +7,10 @@ Table of Contents
- `Requirements`_ - `Requirements`_
- `API Keys`_
- `Installation`_ - `Installation`_
- `Getting Started`_ - `Getting Started`_
- `Setup`_
- `Authorization`_
- `Usage`_
- `Simple API Access`_
- `Using Raw Functions`_
- `Development`_ - `Development`_
- `Documentation`_ - `Documentation`_
@ -31,7 +19,7 @@ Table of Contents
- `Feedback`_ - `Feedback`_
- `Copyright & License`_ - `License`_
Overview Overview
@ -69,20 +57,6 @@ Requirements
- A Telegram API key. - A Telegram API key.
API Keys
--------
To obtain an API key:
#. Visit https://my.telegram.org/apps and log in with your Telegram Account.
#. Fill out the form to register a new Telegram application.
#. Done. The Telegram API key consists of two parts: the **App api_id** and
the **App api_hash**.
**Important:** This key should be kept secret.
Installation Installation
============ ============
@ -97,116 +71,10 @@ You can install and upgrade the library using standard Python tools:
Getting Started Getting Started
=============== ===============
This section provides all the information you need to start using Pyrogram. The `Wiki`_ contains all the information needed to get you started with Pyrogram:
There are a couple of steps you have to follow before you can use the library
to make API calls.
Setup - `Getting Started`_
-----
Create a new ``config.ini`` file at the root of your working directory, paste
the following and replace the **api_id** and **api_hash** values
with `your own`_:
.. code:: ini
[pyrogram]
api_id = 12345
api_hash = 0123456789abcdef0123456789abcdef
Authorization
-------------
Telegram requires that users be authorized in order to use the API.
Pyrogram automatically manages this access, all you need to do is create an
instance of the ``pyrogram.Client`` class and call the ``start`` method:
.. code:: python
from pyrogram import Client
client = Client(session_name="example")
client.start()
This starts an interactive shell asking you to input your **phone number**
(including your `Country Code`_) and the **phone code** you will receive:
.. code::
Enter phone number: +39**********
Is "+39**********" correct? (y/n): y
Enter phone code: 32768
After successfully authorizing yourself, a new file called ``example.session``
will be created allowing Pyrogram executing API calls with your identity.
**Important**: The ``*.session`` file must be kept secret.
Usage
=====
Having `your session`_ created you can now start playing with the API.
Simple API Access
-----------------
The easiest way to interact with the API is via the ``pyrogram.Client`` class
which exposes `bot-like`_ methods. The purpose of this Client class is to make
it **even simpler** to work with Telegram's API by abstracting the raw functions
listed in the API scheme.
The result is a much cleaner interface that allows you to:
- Get information about the authorized user:
.. code:: python
print(client.get_me())
- Send a message to yourself (Saved Messages):
.. code:: python
client.send_message(
chat_id="me",
text="Hi there! I'm using Pyrogram"
)
Using Raw Functions
-------------------
If you want **complete**, low-level access to the Telegram API you have to use
the raw ``functions`` and ``types`` exposed by the ``pyrogram.api`` package and
call any Telegram API method you wish using the ``send`` method provided by the
Client class:
- Update first name, last name and bio:
.. code:: python
from pyrogram.api import functions
client.send(
functions.account.UpdateProfile(
first_name="Dan", last_name="Tès",
about="Bio written from Pyrogram"
)
)
- Share your Last Seen time only with your contacts:
.. code:: python
from pyrogram.api import functions, types
client.send(
functions.account.SetPrivacy(
key=types.InputPrivacyKeyStatusTimestamp(),
rules=[types.InputPrivacyValueAllowContacts()]
)
)
Development Development
=========== ===========
@ -259,8 +127,9 @@ Means for getting in touch:
- `GitHub`_ - `GitHub`_
- `Email`_ - `Email`_
Copyright & License
=================== License
=======
- Copyright (C) 2017 Dan Tès <https://github.com/delivrance> - Copyright (C) 2017 Dan Tès <https://github.com/delivrance>
@ -274,16 +143,14 @@ Copyright & License
.. _`Layer 73`: compiler/api/source/main_api.tl .. _`Layer 73`: compiler/api/source/main_api.tl
.. _`your own`: `API Keys`_ .. _`Wiki`: https://github.com/pyrogram/pyrogram/wiki
.. _`Country Code`: https://en.wikipedia.org/wiki/List_of_country_calling_codes .. _`Getting Started`: https://github.com/pyrogram/pyrogram/wiki/Getting-Started
.. _`your session`: `Authorization`_
.. _`bot-like`: https://core.telegram.org/bots/api#available-methods
.. _`Telegram`: https://t.me/joinchat/AWDQ8lK2HgBN7ka4OyWVTw .. _`Telegram`: https://t.me/joinchat/AWDQ8lK2HgBN7ka4OyWVTw
.. _`bot-like`: https://core.telegram.org/bots/api#available-methods
.. _`GitHub`: https://github.com/pyrogram/pyrogram/issues .. _`GitHub`: https://github.com/pyrogram/pyrogram/issues
.. _`Email`: admin@pyrogram.ml .. _`Email`: admin@pyrogram.ml
@ -300,7 +167,15 @@ Copyright & License
<p align="center"> <p align="center">
<b>Telegram MTProto API Client Library for Python</b> <b>Telegram MTProto API Client Library for Python</b>
<br><br> <br>
<a href="https://github.com/pyrogram/pyrogram/wiki">
Wiki
</a>
<a href="https://t.me/joinchat/AWDQ8lK2HgBN7ka4OyWVTw">
Telegram Group
</a
<br><br><br>
<a href="compiler/api/source/main_api.tl"> <a href="compiler/api/source/main_api.tl">
<img src="https://img.shields.io/badge/scheme-layer%2073-eda738.svg?style=for-the-badge&colorA=262b30" <img src="https://img.shields.io/badge/scheme-layer%2073-eda738.svg?style=for-the-badge&colorA=262b30"
alt="Scheme Layer 73"> alt="Scheme Layer 73">