← бесплатные уроки вход для учеников
бесплатный урок

Как выгрузить посты телеграм-канала в Excel

Telegram не даёт выгрузить цифры, а сервис аналитики стоит $20 в месяц. Показываю, как ИИ-агент собрал бота: просмотры, реакции и репосты — в одну таблицу.

Смотри, какая штука. Telegram показывает статистику телеграм-канала красиво: просмотры, реакции, репосты, графики. А потом ты хочешь выгрузить посты в таблицу — свести цифры за полгода, найти, что зашло, собрать навигацию — и упираешься в стену. Кнопки «скачать» нет. Встроенный экспорт отдаёт архив, но статистики в нём нет. Остаётся копировать руками или платить сервису.

Я пошёл третьим путём: попросил ИИ-агента собрать мне инструмент. Полчаса — и все посты моего телеграм-канала лежат в таблице вместе с просмотрами, реакциями и репостами. Сейчас покажу, как это устроено, сколько стоит и где я по дороге получил по лбу.

Где посмотреть встроенную статистику телеграм-канала и почему её мало

Начнём с честного: если тебе нужно просто глянуть цифры, никакой бот не нужен.

Открываешь канал → три точки в правом верхнем углу → «Статистика». Там графики роста, охваты, источники подписчиков, просмотры по каждому посту. Для «посмотреть глазами» этого хватает.

Два ограничения, о которые все спотыкаются:

Статистика включается не сразу. Каналу нужно 50 подписчиков, группе — 500. Пока порог не набран, раздела просто нет в меню, и дело не в баге и не в версии приложения.

Выгрузки нет вообще. Цифры живут на экране: их нельзя скачать таблицей, нельзя посчитать среднее за квартал, нельзя отсортировать посты по реакциям. Хочешь свести данные — переписывай руками.

Вот на этом месте обычно и начинается поиск сервиса.

Сколько стоит сервис аналитики и что он даёт за эти деньги

Сервисы аналитики телеграм-каналов решают задачу за тебя: подключаешь канал, получаешь выгрузку в Excel со всеми цифрами. Обычная схема — неделя бесплатно, дальше подписка. На июль 2026 это порядка 20 долларов в месяц, то есть тысяч двадцать в год.

Если ты ведёшь каналы клиентам и сидишь в аналитике каждый день — плати, это нормальные деньги за экономию времени.

А если тебе нужно раз в месяц собрать дайджест и посмотреть, какие посты зашли? Тогда ты платишь двадцать долларов за пять минут работы. И платишь каждый месяц, пока пользуешься.

Тут вопрос не в жадности. Вопрос в том, что ты арендуешь то, что можно собрать один раз.

Показываю на своём примере, чтобы не быть голословным. Эта платформа с уроками, которую ты сейчас читаешь, — моя. Аналог на рынке стоит от 5 900 рублей в месяц плюс процент с каждой продажи. Тариф там начинается с тысячи учеников, а у меня их тридцать семь. Своя платформа обошлась в 15 рублей 68 копеек за июль — это хранилище под видео, всё остальное крутится на сервере, который у меня уже был. Собрал за пару вечеров, отбилось в первый же месяц.

Логика та же самая, просто масштаб другой.

Как выгрузить все посты телеграм-канала: три способа

Экспорт из Telegram Desktop: что попадает в архив, а что нет

Штатный способ. Telegram Desktop → три точки → «Экспорт истории чата» → выбираешь формат HTML или JSON.

Получаешь архив с текстами постов, датами, картинками и видео. Для чтения и переноса контента — отлично.

Но просмотров, реакций и репостов в этом архиве нет. Ни в HTML, ни в JSON. Экспорт отдаёт содержимое, а не статистику. Так что для задачи «посмотреть, что зашло» он бесполезен, и это не настройка, которую ты не нашёл, — этих данных там просто не бывает.

Сервис аналитики: быстро, но по подписке

Подключаешь канал, жмёшь «выгрузить», получаешь Excel. Работает, требует денег каждый месяц. Плюс сервис видит твой канал и твои цифры.

Свой скрипт на Telegram API: собрал один раз — пользуешься всегда

У Telegram есть API, и через него доступно всё то же, что показывает встроенная статистика, — только уже в виде данных, а не картинки.

Обычно на этом месте статьи заканчиваются фразой «но для этого нужны технические знания». Вот её мы и убираем.

Как ИИ-агент собирает такой инструмент

Смысл простой: ты описываешь задачу словами, агент пишет код. Не «напиши парсер на Python с использованием асинхронной библиотеки», а по-человечески — что на входе, что нужно на выходе.

Что писать агенту: задача словами вместо технического задания

Формулировка, с которой всё началось, звучала примерно так:

Нужен скрипт, который заберёт все посты моего телеграм-канала и положит в таблицу: ссылку, дату, текст, просмотры, реакции с разбивкой по эмодзи, репосты и комментарии. Таблицу открывать в Excel. Канал мой, доступ администратора есть.

Всё. Дальше агент сам выбрал библиотеку, сам разобрался с авторизацией, сам написал сохранение в файл. От меня потребовалось получить ключи доступа к API (это делается на сайте Telegram за пару минут) и один раз войти в аккаунт — код приходит в само приложение.

Работает это в любом инструменте, где агент видит твои файлы и умеет запускать код: чем Claude Code отличается от чата и Cowork, знакомство с интерфейсом OPENCODE. Если упрёшься в доступ — как платить за модели российской картой и как поднять свой сервер и не ловить блокировки.

Что пошло не так и сколько заняло на самом деле

А вот теперь честная часть, ради которой стоило всё это затевать.

Сам инструмент собрался быстро — минуты. А потом я поймал пять граблей подряд, и ни одну из них агент не поймал бы за меня.

Задвоение строк. Telegram при активной выгрузке иногда просит подождать — это нормальная часть протокола, а не ошибка. В первой версии пауза обрабатывалась перезапуском цикла, и выгрузка начиналась заново. На большом канале в таблице получились бы дубли постов. Заметил на чтении кода до запуска.

Лимит, который считает не то. Просишь «последние 200 постов» — получаешь 190. Потому что в одном месте считались сообщения канала, а в другом — строки таблицы, и служебные записи выпадали посередине. Мелочь, но выводы по такой таблице делать нельзя.

Пустой файл после получаса работы. Таблица записывалась в самом конце. Обрыв связи на двадцать пятой минуте — и на диске ноль. Теперь пишется по ходу.

Скрипт падал до первой строки логики. Код был написан под свежий Python, а запускался на версии постарше — синтаксис не совпал. Причём мои проверки говорили «всё в порядке»: я проверял одним интерпретатором, а запускал другим. Классика.

Файл входа лежал в папке проекта. Самое неприятное. После авторизации создаётся файл сессии — это фактически вход в твой аккаунт без пароля и без второго фактора. Он лежал в проекте, и если бы я выложил папку целиком, я бы раздал доступ к своему Telegram. Закрыл до публикации.

Вот тебе честный ответ на вопрос «а правда ли ИИ пишет код за тебя». Правда. Рабочий инструмент — за минуты. А дальше начинаются границы: паузы, лимиты, обрывы, версии, секреты. Их проверяешь ты, и это не «пока модели не научились», это твоя часть работы.

Готовый промт: копируй и отдавай агенту

Выше я честно перечислил пять граблей, на которые наступил. Логично не наступать на них второй раз — поэтому вот та же задача, но сформулированная уже с учётом каждой. Скопируй целиком и отдай агенту.

Нужен скрипт, который заберёт все посты моего телеграм-канала
и положит в таблицу.

Вход: канал мой, права администратора есть, ключи Telegram API
получу сам.
Выход: файл CSV с разделителем «;», чтобы Excel открыл его без
плясок с кодировкой.

Колонки: ссылка на пост, дата и время в моём часовом поясе,
текст, просмотры, реакции с разбивкой по эмодзи, репосты,
число комментариев.

Требования, которые важнее скорости:

1. Пиши строки в файл по ходу выгрузки, а не в самом конце.
   Оборвётся связь на середине — собранное должно остаться
   на диске.
2. Когда Telegram просит подождать (FloodWait) — жди ровно
   столько, сколько он сказал, и продолжай с того же места.
   Не перезапускай цикл: получу дубли постов.
3. Считай ровно то, что я прошу. Прошу последние N постов —
   в таблице должно быть N строк постов, а не N сообщений
   вперемешку со служебными.
4. Файл сессии клади вне папки проекта и добавь его
   в .gitignore. Это вход в мой аккаунт без пароля и без
   второго фактора.
5. Скажи, на какой версии Python это запускать, и проверь,
   что синтаксис ей соответствует. Команду запуска дай готовую.

Перед запуском покажи код и объясни словами, что он делает
на каждом шаге.

Что проверить до того, как жать запуск. Пять вопросов агенту — по одному на каждую граблю:

  • файл пишется по ходу или в самом конце?
  • что происходит, когда Telegram просит подождать: ждём и продолжаем или начинаем заново?
  • сколько строк будет в таблице, если я прошу 200 постов?
  • где лежит файл сессии и попадёт ли он в репозиторий?
  • какой версией Python ты проверял и какой я буду запускать?

Если хоть на один ответ агент мнётся — пусть чинит до запуска, а не после.

Что в итоге лежит в таблице

Прогнал на своём канале про вайбкодинг и автоматизацию — 1 323 подписчика.

133 поста выгрузились за две секунды. В таблице по каждому: ссылка, дата в моём часовом поясе, текст, просмотры, реакции числом и разбивкой, репосты, комментарии.

Что сразу стало видно на данных за девять месяцев:

  • медиана просмотров — 555, лучший пост — 1 350;
  • реакции есть у 95 постов из 133, это 71 %, всего 1 674 реакции;
  • репосты у 67 постов;
  • у самого залайканного поста разбивка 🔥×59, ❤‍🔥×8, 🫡×4, 👏×3, ❤×2.

Последнее — как раз то, чего не даёт ни один график. Видно не «сколько реакций», а какими именно эмодзи люди отвечают: огонь за пользу, салют за смелость, сердце за личное. По этому сразу читается, какой контент во что попадает.

Как из таблицы собрать навигацию и дайджест канала

Дальше начинается интересное. Таблица — это сырьё, которое можно скормить обратно нейросети.

Отсортируй по просмотрам, возьми верхушку, отдай модели с задачей: «сгруппируй по темам и собери пост-навигацию со ссылками». На выходе — готовый навигатор по каналу, который раньше собирался руками час.

То же самое с месячным дайджестом: фильтруешь по датам, отдаёшь текст и ссылки, просишь сгруппировать по смыслам. Ссылки уже лежат в таблице готовыми, вставлять руками ничего не нужно.

И то же — с разбором: какие темы собирают репосты, в какие дни выходят лучшие посты, что просело за квартал.

Почему подписчиков канала выгрузить нельзя

Раз уж таблица собрана, сразу закрою вопрос, с которым сюда приходят чаще всего: «а список подписчиков так же выгрузить можно?». Нет. И дело не в кривом скрипте.

Telegram намеренно не отдаёт список подписчиков канала — это защита от массового сбора людей. За один запрос приходит максимум 200 человек, всего через этот метод получится вытащить порядка десяти тысяч, и то не у любого канала. Владелец в самом приложении видит примерно две сотни последних подписавшихся — и всё.

Поэтому когда сервис обещает «полный список подписчиков любого канала» — он либо отдаёт те же двести, либо годами собирает людей по крупицам через поиск. Полного списка сорокатысячного канала не существует ни у кого.

Что вместо этого реально можно собрать:

  • Счётчики по постам — просмотры, реакции с разбивкой по эмодзи, репосты, число комментариев. Их и забирает скрипт из промта выше: видно, что заходит, а что нет.
  • Тех, кто писал комментарии — это уже живые люди с именами, и вот их выгрузить можно.
  • Участников чата обсуждения — это группа, а не канал, и ограничения там мягче.

То же самое с реакциями. Сколько их и какие — берётся легко, это обычные числа под постом. А вот поимённо, кто именно нажал огонёк, для канала обычным способом не отдаётся. Для розыгрыша «отметь победителя среди тех, кто отреагировал» это значит простую вещь: механику надо строить на комментариях, а не на реакциях.

Когда своё собирать не надо

Раз уж я топлю за свои инструменты, скажу и обратное. Собирать своё стоит не всегда.

Считай не «подписка против нуля», а подписка против сборки плюс поддержки. Сборка разовая, поддержка навсегда: что-то отвалится, что-то поменяется на стороне сервиса, и чинить будешь ты.

Дешёвую подписку почти никогда не окупает своя сборка. Сервис за пятьсот рублей в месяц — это шесть тысяч в год, а пара вечеров твоего времени стоит дороже. Тут проще заплатить.

Не трогай то, что дорого потерять. Приём платежей, бухгалтерия, документы. Пусть этим занимаются те, кто за это отвечает деньгами и лицензией.

Признак, что своё оправдано: ты платишь за объём, которым не пользуешься (тариф на тысячу пользователей при тридцати семи), или отдаёшь процент с оборота, который растёт вместе с выручкой. Вот тогда считай.

Частые вопросы

Можно ли выгрузить посты из чужого телеграм-канала? Этим способом — нет. Нужен доступ администратора к своему каналу. Для чужих каналов существуют сервисы аналитики, они собирают публичные данные.

Со скольки подписчиков доступна статистика телеграм-канала? С 50 для каналов и с 500 для групп. Пока порог не набран, раздела «Статистика» в меню не будет.

Почему не отображается статистика в телеграм-канале? Три причины по частоте: не набран порог подписчиков; ты смотришь не в том меню (нужен раздел канала, а не чата); ты не администратор канала.

Как посмотреть статистику старых постов? Встроенная показывает ограниченный период, и чем старше пост, тем меньше по нему видно. Как раз поэтому выгрузку стоит делать регулярно — данные копятся у тебя, а не у Telegram.

Как посчитать вовлечённость в телеграм? Реакции и комментарии делишь на просмотры. По таблице это одна формула на весь столбец, руками считать не нужно.

Какой ER считается хорошим в телеграме? Ориентир — несколько процентов, но сравнивать имеет смысл только со своими же прошлыми цифрами: в разных нишах и на разных размерах каналов «хорошо» выглядит по-разному.

С чего начать

Если ты вообще ни разу не собирал ничего своего — не начинай с этого скрипта. Начни с того, чтобы понять, какие функции ИИ закрывает первыми, и посмотри бесплатные боты для расшифровки видео и сбора референсов: там короче цикл и результат виден в тот же вечер.

А если руки уже чешутся — бери задачу, которую делаешь руками каждую неделю и тихо ненавидишь. Опиши её словами: что на входе, что нужно на выходе. Отдай агенту. Проверь на границах — на паузах, на обрывах, на пустых данных.

А если хочешь понять сам подход целиком — как ставить задачу словами и где код от нейросети ломается: нейросеть, которая пишет код: с чего начать.

И помни главное: инструмент, который ты собрал сам, не подорожает в следующем месяце.

Под постами канала живёт ещё один пласт данных — обсуждение. Как выгрузить комментарии телеграм в Excel, разбираю отдельно: механика там другая, потому что комментарии лежат не в канале, а в связанном чате.

Что делать с выгрузкой дальше

Таблица постов — это сырьё. По ней считается ERR телеграм-канала: средние просмотры к подписчикам, формула прямо в ячейке, без сервисов аналитики.

Если публикуешь по графику, а не руками, — там же лежит автопостинг в Телеграм-канал: бот, токен и расписание вместо подписки на планировщик.

А когда контент нужно дублировать на другую площадку, механика та же: перенести посты из Telegram в MAX.

Частые вопросы
Можно ли выгрузить посты из чужого телеграм-канала?
Этим способом — нет. Нужен доступ администратора к своему каналу. Для чужих каналов существуют сервисы аналитики, они собирают публичные данные.
Со скольки подписчиков доступна статистика телеграм-канала?
С 50 для каналов и с 500 для групп. Пока порог не набран, раздела «Статистика» в меню не будет.
Почему не отображается статистика в телеграм-канале?
Три причины по частоте: не набран порог подписчиков; ты смотришь не в том меню (нужен раздел канала, а не чата); ты не администратор канала.
Как посмотреть статистику старых постов?
Встроенная показывает ограниченный период, и чем старше пост, тем меньше по нему видно. Как раз поэтому выгрузку стоит делать регулярно — данные копятся у тебя, а не у Telegram.
Как посчитать вовлечённость в телеграм?
Реакции и комментарии делишь на просмотры. По таблице это одна формула на весь столбец, руками считать не нужно.
Какой ER считается хорошим в телеграме?
Ориентир — несколько процентов, но сравнивать имеет смысл только со своими же прошлыми цифрами: в разных нишах и на разных размерах каналов «хорошо» выглядит по-разному.
Уже учитесь на курсе?
войдите, чтобы открыть все уроки