раздел 00

Что такое Telethon

Telethon - это Python-библиотека, которая работает как полноценный клиент Telegram. Она общается с серверами Telegram по их «родному» протоколу MTProto (тот же протокол, на котором работают официальные приложения на телефоне и в десктопе). Из-за этого Telethon - не обёртка над ботами и не «ещё один способ дёргать Bot API», а самостоятельный клиент: он может зайти в Telegram ровно так же, как заходите вы со своего телефона.

Главная идея: Telethon может входить под обычным пользовательским аккаунтом (это называют userbot), а не только как бот. Из этого вытекает всё - и его возможности, и его риски.

Простыми словами

Обычный Telegram-бот - это как сотрудник на ресепшене: он видит только тех, кто сам к нему подошёл, и только те комнаты, куда его пустили. Telethon под вашим аккаунтом - это вы сами с ключом от квартиры: вам доступно всё, к чему есть доступ у вас как у человека.

Ещё аналогия: Bot API - это витрина магазина с готовым набором действий, которые Telegram разрешает боту. Telethon по MTProto - это доступ на «служебный вход», тот же, которым пользуется официальное приложение. Отсюда и мощность, и ответственность.

Userbot и бот - в чём разница на входе

Telegram даёт два способа автоматизации. Telethon умеет оба, но интересен именно первым.

User account (userbot)
Вход по вашему номеру телефона и коду. Видно всё то же, что видите вы: личные чаты, группы, каналы, полная история, медиа. Это и есть главный сценарий Telethon.
Bot (бот по токену)
Telethon умеет работать и как бот - вместо номера подставляется токен от BotFather. Тогда ограничения ровно те же, что у обычного Bot API.

Что реально умеет под user-аккаунтом

  • Читать историю чатов, групп и каналов - в том числе старые сообщения, которые были задолго до запуска скрипта.
  • Выгружать сообщения и медиа: фото, видео, документы, голосовые, стикеры.
  • Слушать новые сообщения в реальном времени и реагировать на них из кода (events).
  • Автоматизировать действия аккаунта: отправлять, пересылать, отвечать, редактировать, ставить реакции.
  • Мониторить публичные каналы и чаты, где вас никто не «добавлял ботом».
  • Собирать список своих диалогов, участников групп, получать информацию о пользователях и каналах.

Bot API так не умеет: бот видит только те чаты, где он состоит, и только сообщения, которые пришли после того, как его туда добавили. Подробный разбор разницы - в следующем разделе.

Когда это нужно

  • Сохранить историю переписки или канала вместе с вложениями - для архива, анализа, переезда.
  • Собрать данные из публичных каналов (посты, ссылки, статистику) для своего проекта.
  • Сделать личного ассистента поверх своего аккаунта: автосбор, автоответы, уведомления.
  • Перенести или продублировать сообщения между чатами, которые бот бы не увидел.

Что разберём дальше

  • 01 - чем Telethon под user-аккаунтом отличается от обычного бота и когда что брать.
  • 02 - установка, api_id, api_hash и первый вход.
  • 03 - базовые операции: читать, отправлять, скачивать, слушать.
  • 04 - риски, лимиты, FloodWait и прокси.
  • 05 - шпаргалка со сниппетами, чек-листом и глоссарием.