Telethon/readthedocs/extra/basic/getting-started.rst

96 lines
2.3 KiB
ReStructuredText
Raw Normal View History

.. _getting-started:
2017-11-20 07:12:31 +03:00
===============
Getting Started
===============
2017-11-20 07:12:31 +03:00
2018-10-06 21:20:11 +03:00
.. contents::
2017-11-20 07:12:31 +03:00
Simple Installation
*******************
2017-11-20 07:12:31 +03:00
.. code-block:: sh
2017-11-20 07:12:31 +03:00
pip3 install telethon
**More details**: :ref:`installation`
2017-11-20 07:12:31 +03:00
Creating a client
*****************
2017-11-20 07:12:31 +03:00
.. code-block:: python
2017-11-20 07:12:31 +03:00
2018-06-25 22:14:58 +03:00
from telethon import TelegramClient, sync
2017-11-20 07:12:31 +03:00
# These example values won't work. You must get your own api_id and
# api_hash from https://my.telegram.org, under API Development.
api_id = 12345
api_hash = '0123456789abcdef0123456789abcdef'
2017-11-20 07:12:31 +03:00
2018-06-25 22:14:58 +03:00
client = TelegramClient('session_name', api_id, api_hash).start()
2017-11-20 07:12:31 +03:00
**More details**: :ref:`creating-a-client`
2017-11-20 07:12:31 +03:00
Basic Usage
***********
.. code-block:: python
2017-11-20 07:12:31 +03:00
2018-06-25 22:14:58 +03:00
# Getting information about yourself
me = client.get_me()
print(me.stringify())
2018-06-25 22:14:58 +03:00
# Sending a message (you can use 'me' or 'self' to message yourself)
client.send_message('username', 'Hello World from Telethon!')
2017-11-20 07:12:31 +03:00
2018-06-25 22:14:58 +03:00
# Sending a file
client.send_file('username', '/home/myself/Pictures/holidays.jpg')
2017-11-20 07:12:31 +03:00
2018-06-25 22:14:58 +03:00
# Retrieving messages from a chat
from telethon import utils
for message in client.iter_messages('username', limit=10):
print(utils.get_display_name(message.sender), message.message)
2018-06-25 22:14:58 +03:00
# Listing all the dialogs (conversations you have open)
for dialog in client.get_dialogs(limit=10):
print(dialog.name, dialog.draft.text)
2018-06-25 22:14:58 +03:00
# Downloading profile photos (default path is the working directory)
client.download_profile_photo('username')
2018-06-25 22:14:58 +03:00
# Once you have a message with .media (if message.media)
# you can download it using client.download_media(),
# or even using message.download_media():
messages = client.get_messages('username')
messages[0].download_media()
2017-11-20 07:12:31 +03:00
**More details**: :ref:`telegram-client`
See :ref:`telethon-client` for all available friendly methods.
2018-05-17 13:00:22 +03:00
2018-03-24 14:41:42 +03:00
Handling Updates
****************
.. code-block:: python
2018-03-24 14:41:42 +03:00
from telethon import events
2018-03-24 14:41:42 +03:00
@client.on(events.NewMessage(incoming=True, pattern='(?i)hi'))
async def handler(event):
await event.reply('Hello!')
2018-03-24 14:41:42 +03:00
client.run_until_disconnected()
2018-03-24 14:41:42 +03:00
**More details**: :ref:`working-with-updates`
2018-03-24 14:41:42 +03:00
----------
You can continue by clicking on the "More details" link below each
snippet of code or the "Next" button at the bottom of the page.