раздел 00
Что такое Telethon
Telethon - это Python-библиотека, которая работает как полноценный клиент Telegram. Она общается с серверами Telegram по их «родному» протоколу MTProto (тот же протокол, на котором работают официальные приложения на телефоне и в десктопе). Из-за этого Telethon - не обёртка над ботами и не «ещё один способ дёргать Bot API», а самостоятельный клиент: он может зайти в Telegram ровно так же, как заходите вы со своего телефона.
Главная идея: Telethon может входить под обычным пользовательским аккаунтом (это называют userbot), а не только как бот. Из этого вытекает всё - и его возможности, и его риски.
Простыми словами
Обычный Telegram-бот - это как сотрудник на ресепшене: он видит только тех, кто сам к нему подошёл, и только те комнаты, куда его пустили. Telethon под вашим аккаунтом - это вы сами с ключом от квартиры: вам доступно всё, к чему есть доступ у вас как у человека.
Ещё аналогия: Bot API - это витрина магазина с готовым набором действий, которые Telegram разрешает боту. Telethon по MTProto - это доступ на «служебный вход», тот же, которым пользуется официальное приложение. Отсюда и мощность, и ответственность.
Userbot и бот - в чём разница на входе
Telegram даёт два способа автоматизации. Telethon умеет оба, но интересен именно первым.
Что реально умеет под user-аккаунтом
- Читать историю чатов, групп и каналов - в том числе старые сообщения, которые были задолго до запуска скрипта.
- Выгружать сообщения и медиа: фото, видео, документы, голосовые, стикеры.
- Слушать новые сообщения в реальном времени и реагировать на них из кода (
events). - Автоматизировать действия аккаунта: отправлять, пересылать, отвечать, редактировать, ставить реакции.
- Мониторить публичные каналы и чаты, где вас никто не «добавлял ботом».
- Собирать список своих диалогов, участников групп, получать информацию о пользователях и каналах.
Bot API так не умеет: бот видит только те чаты, где он состоит, и только сообщения, которые пришли после того, как его туда добавили. Подробный разбор разницы - в следующем разделе.
Когда это нужно
- Сохранить историю переписки или канала вместе с вложениями - для архива, анализа, переезда.
- Собрать данные из публичных каналов (посты, ссылки, статистику) для своего проекта.
- Сделать личного ассистента поверх своего аккаунта: автосбор, автоответы, уведомления.
- Перенести или продублировать сообщения между чатами, которые бот бы не увидел.
Что разберём дальше
- 01 - чем Telethon под user-аккаунтом отличается от обычного бота и когда что брать.
- 02 - установка,
api_id,api_hashи первый вход. - 03 - базовые операции: читать, отправлять, скачивать, слушать.
- 04 - риски, лимиты,
FloodWaitи прокси. - 05 - шпаргалка со сниппетами, чек-листом и глоссарием.