Skip to content

Latest commit

 

History

History
81 lines (49 loc) · 2.27 KB

File metadata and controls

81 lines (49 loc) · 2.27 KB

Calling Methods

At this point, we have successfully :doc:`installed Pyrogram <../intro/install>` and :doc:`authorized <auth>` our account; we are now aiming towards the core of the library. It's time to start playing with the API!

Basic Usage

Making API method calls with Pyrogram is very simple. Here's an example we are going to examine:

from pyrogram import Client

app = Client("my_account")

app.start()

print(app.get_me())
app.send_message("me", "Hi, it's me!")
app.send_location("me", 51.500729, -0.124583)
app.send_sticker("me", "CAADBAADyg4AAvLQYAEYD4F7vcZ43AI")

app.stop()
  1. Let's begin by importing the Client class from the Pyrogram package:

    from pyrogram import Client
  2. Now instantiate a new Client object, "my_account" is a session name of your choice:

    app = Client("my_account")
  3. To actually make use of any method, the client has to be started first:

    app.start()
  4. Now, you can call any method you like:

    print(app.get_me())  # Print information about yourself
    
    # Send messages to yourself:
    app.send_message("me", "Hi!")  # Text message
    app.send_location("me", 51.500729, -0.124583)  # Location
    app.send_sticker("me", "CAADBAADyg4AAvLQYAEYD4F7vcZ43AI")  # Sticker
  5. Finally, when done, simply stop the client:

    app.stop()

Context Manager

You can also use Pyrogram's Client in a context manager with the with statement. The client will automatically :meth:`~pyrogram.Client.start` and :meth:`~pyrogram.Client.stop` gracefully, even in case of unhandled exceptions in your code. The example above can be therefore rewritten in a much nicer way:

from pyrogram import Client

app = Client("my_account")

with app:
    print(app.get_me())
    app.send_message("me", "Hi there! I'm using **Pyrogram**")
    app.send_location("me", 51.500729, -0.124583)
    app.send_sticker("me", "CAADBAADyg4AAvLQYAEYD4F7vcZ43AI")

More examples can be found on GitHub.