Skip to content

Latest commit

 

History

History
61 lines (41 loc) · 2.27 KB

File metadata and controls

61 lines (41 loc) · 2.27 KB

Project Setup

We have just installed Pyrogram. In this page we'll discuss what you need to do in order to set up a project with the library. Let's see how it's done.

API Keys

The very first step requires you to obtain a valid Telegram API key (API id/hash pair):

  1. Visit https://my.telegram.org/apps and log in with your Telegram Account.
  2. Fill out the form to register a new Telegram application.
  3. Done! The API key consists of two parts: api_id and api_hash.

Important

The API key is personal and must be kept secret.

Note

The API key is unique for each user, but defines a token for a Telegram application you are going to build. This means that you are able to authorize multiple users (and bots too) to access the Telegram database through the MTProto API by a single API key.

Configuration

Having the API key from the previous step in handy, we can now begin to configure a Pyrogram project. There are two ways to do so, and you can choose what fits better for you:

  • First option (recommended): 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. This is the preferred method because allows you to keep your credentials out of your code without having to deal with how to load them:

    [pyrogram]
    api_id = 12345
    api_hash = 0123456789abcdef0123456789abcdef
  • Alternatively, you can pass your API key to Pyrogram by simply using the api_id and api_hash parameters of the Client class. This way you can have full control on how to store and load your credentials (e.g.:, you can load the credentials from the environment variables and directly pass the values into Pyrogram):

    from pyrogram import Client
    
    app = Client(
        "my_account",
        api_id=12345,
        api_hash="0123456789abcdef0123456789abcdef"
    )

Note

To keep code snippets clean and concise, from now on it is assumed you are making use of the config.ini file, thus, the api_id and api_hash parameters usage won't be shown anymore.