mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-30 13:23:46 +03:00
56 lines
2.3 KiB
ReStructuredText
56 lines
2.3 KiB
ReStructuredText
|
.. _sending-requests:
|
||
|
|
||
|
==================
|
||
|
Sending Requests
|
||
|
==================
|
||
|
|
||
|
Since we're working with Python, one must not forget that they can do ``help(client)`` or ``help(TelegramClient)``
|
||
|
at any time for a more detailed description and a list of all the available methods.
|
||
|
Calling ``help()`` from an interactive Python session will always list all the methods for any object, even yours!
|
||
|
|
||
|
Interacting with the Telegram API is done through sending **requests**,
|
||
|
this is, any "method" listed on the API. There are a few methods on the ``TelegramClient`` class
|
||
|
that abstract you from the need of manually importing the requests you need.
|
||
|
|
||
|
For instance, retrieving your own user can be done in a single line:
|
||
|
|
||
|
``myself = client.get_me()``
|
||
|
|
||
|
Internally, this method has sent a request to Telegram, who replied with the information about your own user.
|
||
|
|
||
|
If you want to retrieve any other user, chat or channel (channels are a special subset of chats),
|
||
|
you want to retrieve their "entity". This is how the library refers to either of these:
|
||
|
|
||
|
.. code-block:: python
|
||
|
|
||
|
# The method will infer that you've passed an username
|
||
|
# It also accepts phone numbers, and will get the user
|
||
|
# from your contact list.
|
||
|
lonami = client.get_entity('lonami')
|
||
|
|
||
|
Note that saving and using these entities will be more important when Accessing the Full API.
|
||
|
For now, this is a good way to get information about an user or chat.
|
||
|
|
||
|
Other common methods for quick scripts are also available:
|
||
|
|
||
|
.. code-block:: python
|
||
|
|
||
|
# Sending a message (use an entity/username/etc)
|
||
|
client.send_message('TheAyyBot', 'ayy')
|
||
|
|
||
|
# Sending a photo, or a file
|
||
|
client.send_file(myself, '/path/to/the/file.jpg', force_document=True)
|
||
|
|
||
|
# Downloading someone's profile photo. File is saved to 'where'
|
||
|
where = client.download_profile_photo(someone)
|
||
|
|
||
|
# Retrieving the message history
|
||
|
total, messages, senders = client.get_message_history(someone)
|
||
|
|
||
|
# Downloading the media from a specific message
|
||
|
# You can specify either a directory, a filename, or nothing at all
|
||
|
where = client.download_media(message, '/path/to/output')
|
||
|
|
||
|
Remember that you can call ``.stringify()`` to any object Telegram returns to pretty print it.
|
||
|
Calling ``str(result)`` does the same operation, but on a single line.
|