раздел 05
Шпаргалка
Сниппеты
Подключение:
from telethon import TelegramClient
client = TelegramClient("my_session", api_id, api_hash)
Прочитать последние сообщения:
async for message in client.iter_messages("@channel", limit=20):
print(message.text)
Отправить:
await client.send_message("@username", "текст")
Скачать медиа:
async for message in client.iter_messages("@channel", limit=50):
if message.media:
await message.download_media("downloads/")
Чек-лист безопасного использования
*.sessionв.gitignore, файл сессии не коммитить и не пересылать.api_idиapi_hashдержать в секрете (например, в переменных окружения).- Делать паузы между действиями, не слать сообщения пачками.
- Не писать незнакомым людям массово - это спам и повод для бана.
- Одна сессия - одно место запуска, не дублировать.
- Из России на заблокированном хостинге - подключение через прокси.
- Скрейпинг чужих данных - оценивать риски и правила заранее.
Глоссарий
| Термин | Что это |
|---|---|
| MTProto | Родной протокол Telegram, на нём работает Telethon. |
api_id / api_hash | Ключи приложения с my.telegram.org, нужны для входа. |
Сессия (.session) | Файл с сохранённым входом в аккаунт. Секрет. |
| User account | Обычный пользовательский аккаунт (а не бот). |
| Событие (event) | Новое сообщение или действие, на которое реагирует обработчик. |
Куда дальше
- Телеграм-боты - когда вместо user-аккаунта лучше взять бота.
- Python-библиотеки - что ещё ставится через
pip. - Проксирование - доступ к заблокированным сервисам.
- Скрейпинг: серые зоны - правила сбора данных.