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

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

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

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

Ты идёшь в экспорт канала, открываешь архив, а комментариев там нет. Ни одного.

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

Почему комментариев нет в выгрузке телеграм-канала

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

Это не моя догадка. В документации Telegram сказано прямым текстом: раздел комментариев поста — это ветка ответов на автоматически пересланное в связанную группу сообщение канала. Там же и проверка: удали из группы эту копию — комментарии под постом отключатся. Отключать станет нечего.

Отсюда всё остальное:

  • экспорт канала отдаёт посты и не отдаёт комментарии — они в другом чате, и никакая настройка их туда не добавит;
  • выгружать нужно чат обсуждения, а не канал;
  • связь «этот комментарий — к этому посту» не теряется: в корне каждой ветки лежит тот самый пересланный пост.

Улавливаешь мысль? Задача превращается из «выгрузить комментарии» в «выгрузить один чат и разложить его по веткам». А это уже решается.

Этим комментарии и отличаются от постов: другой источник, другой способ. Сшивать две таблицы придётся самому, по номеру поста. Если цифр по постам ещё нет, начни с них: выгрузка постов канала в Excel.

Когда таблица комментариев реально нужна

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

Розыгрыш. Четыреста участников, надо выбрать победителя, отсечь тех, кто написал после дедлайна, и убрать дубли: человек оставил пять комментариев, а шанс у него должен быть один.

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

Лиды. Кто написал «а сколько стоит» или «как попасть» — тёплые. В ленте они теряются через день, в таблице лежат с датой и ссылкой.

Отчёт клиенту. Если ведёшь чужие каналы, «обсуждение выросло вдвое» с таблицей звучит иначе, чем на словах.

Какие поля должны быть в таблице комментариев

Определись до выгрузки, что хочешь получить на выходе. Иначе соберёшь гору текста без дат и авторов.

ПолеЗачем нужноЧто учесть
Дата и времясортировка, отсечка розыгрыша по дедлайнусразу приведи к своему часовому поясу
Имя авторапонять, кто этоимена повторяются и меняются, ключом быть не могут
@usernameпозвать человека, отметить победителяесть далеко не у всех
Внутренний номер авторасклеить все комментарии одного человекаединственный надёжный ключ для дублей
Текст комментарияради него всё и затевалось
Номер постак какому посту относитсяберётся из корня ветки
Кому отвечалиотличить ответ каналу от спора двух подписчиков
Ссылка на комментарийоткрыть в один клик и ответить

Две вещи, о которые спотыкаются на розыгрышах. У части людей нет @username: победителя не отметишь и в личку не напишешь, останется ждать, пока сам отзовётся. И комментарий может прийти от имени канала — так пишут анонимные админы, человека в строке не будет вовсе. Реши на берегу, что с такими делаешь.

Три способа выгрузить комментарии в таблицу

СпособЧто достаётСколько времениКому подходит
Экспорт чата обсуждениявсю историю комментариев15 минут, без кодаразовая задача
Свой скрипт через APIвсю историю и ровно нужные полявечер вместе с ИИ-агентомесли делать каждый месяц
Бот в чатетолько то, что придёт после подключенияполчасарозыгрыш, который ещё впереди
Платный сервискак повезёт с тарифомподпискаесли возиться некогда

Экспорт чата обсуждения: пятнадцать минут и без кода

Штатный способ, работает на любом канале, где комментарии включены.

Открываешь чат обсуждения — именно его, не канал. Проще всего нажать «Комментарии» под любым постом, откроется та самая группа. Дальше в Telegram Desktop три точки — «Экспорт истории чата», формат JSON. HTML бери, только если собираешься читать глазами: для таблицы он неудобен.

В архиве окажутся все сообщения группы разом: пересланные посты, комментарии к ним и служебные записи вроде «такой-то вступил в группу». Лишнее отфильтруешь.

Остаётся превратить файл в таблицу. Быстрее всего — отдать его нейросети и попросить разложить по столбцам из таблицы выше. Если чат большой, целиком он в один запрос может не влезть: режь по месяцам или попроси написать маленький конвертер. Как ставить такие задачи: нейросеть для Excel.

Готовый промт: превратить экспорт в таблицу

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

У меня есть result.json — экспорт чата обсуждения телеграм-канала
из Telegram Desktop. Нужен скрипт, который превратит его
в таблицу комментариев.

Выход: CSV с разделителем «;», Excel открывает без танцев
с кодировкой.

Колонки: дата и время (перевести в UTC+3), имя автора,
@username, внутренний номер автора, текст комментария,
номер поста, кому отвечали, ссылка на комментарий.
Если @username в экспорте нет — оставь колонку пустой,
не выдумывай и не подставляй туда имя.

Что учесть:

1. В файле лежат все сообщения группы разом. В таблицу берём
   только комментарии: сообщение без reply_to_message_id —
   это сам пост, служебные записи («вступил в группу»,
   «закрепил сообщение») выкидываем.
2. Ветка бывает глубокой: человек отвечает человеку, тот —
   третьему. Номер поста бери по корню ветки, поднимаясь
   по reply_to_message_id до сообщения, у которого его нет.
3. В колонке «кому отвечали» отличай ответ самому посту
   от ответа другому подписчику.
4. Поле text бывает строкой, а бывает массивом кусков
   с форматированием. Склей в обычный текст, ничего не потеряв.
5. Комментарий может прийти от имени канала — это анонимный
   админ, человека там нет. Помечай такие строки отдельной
   колонкой, а не выкидывай.
6. Ключ для склейки «все комментарии одного человека» —
   внутренний номер автора, а не имя: имена повторяются
   и меняются.
7. Файл может весить сотни мегабайт. Читай потоково и пиши
   по ходу, не загружай всё в память.

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

Проверь на глаз, что таблица собралась правильно. В ней нет строки с самим постом и нет «вступил в группу». У ответа подписчику в колонке «кому отвечали» стоит имя человека, а не «посту». Комментарии одного человека склеиваются по номеру, даже если он менял имя.

Свой скрипт: когда выгружать надо регулярно

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

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

Нужен скрипт: выгрузить комментарии к постам моего телеграм-канала в таблицу. Важно: комментарии лежат не в канале, а в связанном чате обсуждения. Комментарии к посту — это ветка ответов на автоматически пересланное в эту группу сообщение канала. По каждому комментарию нужны: дата, номер и имя автора, @username, текст, номер поста и ссылка на комментарий. Результат — CSV с заголовками, открывается в Excel. Файл писать по ходу выгрузки, а не в конце.

Четыре вещи проверь в готовом скрипте руками. Это не паранойя, это та часть работы, которую агент за тебя не делает.

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

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

Ветки. «Ответ» в чате обсуждения может указывать и на пост, и на другой комментарий. Группировать надо по корню ветки, иначе часть комментариев потеряет привязку к посту.

Пустые авторы. Удалённые аккаунты и сообщения от имени канала дадут строки без человека. Пусть скрипт пишет их честно, а не пропускает молча: иначе не поймёшь, почему строк 380, а не 400.

Бот в чате: ловит только новое

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

В списке методов Bot API нет ни одного, который отдаёт историю чата. Бот видит только то, что пришло после его добавления в группу, а непрочитанные обновления сервер держит не дольше суток. Прошлое он не восстановит совсем.

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

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

Частый случай: нужен не весь год, а один пост — тот самый, с розыгрышем.

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

Если пост один, а комментариев пара десятков — не выдумывай: открой ветку, выдели, скопируй в таблицу. Пять минут против пятнадцати.

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

Как собрать всех, кто писал комментарии

Первое правило: склеивай людей по внутреннему номеру автора, а не по имени. Имена повторяются, люди их меняют, а у части нет даже @username. Номер не меняется никогда.

Дальше три действия закрывают почти любой розыгрыш. В Google-таблицах и свежем Excel это UNIQUE (список уникальных участников), COUNTIF (сколько раз человек написал) и RANDBETWEEN вместе с INDEX (случайный победитель). В русском интерфейсе имена функций переведены, подсказка подставит их сама. В старых версиях дубли убираются через «Данные» → «Удалить дубликаты».

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

И совет из практики: сохрани исходную таблицу до жеребьёвки. Когда объявишь победителя, обязательно найдётся тот, кто спросит, как считали.

Что делать с готовой таблицей комментариев

Сама по себе она мало что даёт. Интересное начинается, когда её с чем-то соединяют.

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

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

Найти тёплых. Отфильтруй строки со словами «сколько», «цена», «как попасть». Это люди, которые уже подняли руку, а ты, скорее всего, ответил им в ленте и забыл.

Границы: чего с этой таблицей делать не стоит

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

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

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

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

Частые вопросы
Почему в экспорте телеграм-канала нет комментариев?
Потому что комментарии лежат не в канале. Когда ты включаешь комментарии, Телеграм привязывает к каналу отдельную группу — чат обсуждения. Каждый пост копией пересылается туда, и комментарии пишутся как ответы на эту копию. Экспорт канала отдаёт содержимое канала, а комментарии в этот момент лежат в соседнем чате. Никакой галочки, которая добавит их в архив канала, нет — выгружать нужно сам чат обсуждения.
Как выгрузить комментарии из телеграм в Excel?
Выгружаешь не канал, а связанный с ним чат обсуждения. В Telegram Desktop открываешь этот чат, три точки — «Экспорт истории чата», формат JSON. В архиве окажутся все сообщения группы: пересланные посты канала и комментарии к ним. Дальше файл превращаешь в таблицу — либо просишь нейросеть разложить его по столбцам, либо один раз собираешь себе скрипт, если делать это придётся каждый месяц.
Как выгрузить комментарии к одному посту?
Комментарии к посту — это одна ветка ответов внутри чата обсуждения. Отдельной кнопки «выгрузить эту ветку» искать не стоит: проще выгрузить чат целиком и отфильтровать таблицу по номеру поста. Номер — последнее число в ссылке на пост. Если пост один и комментариев в нём пара десятков, руками через копирование будет быстрее любой выгрузки.
Можно ли выгрузить комментарии из чужого канала?
Если чат обсуждения открытый, ты можешь в него вступить, и тогда история этого чата доступна тебе так же, как своя — права администратора для этого не нужны. Чего не будет: статистики канала, то есть просмотров и охватов, — она видна только администратору. И помни про границы: люди в чужом чате разговаривали с чужим каналом, а не подписывались на твою рассылку.
Можно ли выгрузить комментарии ботом?
Новые — да, старые — нет. В списке методов Bot API нет ни одного, который отдаёт историю чата: бот видит только те сообщения, что пришли после его добавления в группу, и непрочитанные обновления сервер хранит не дольше суток. Поэтому бот хорош, когда розыгрыш ещё впереди: добавил заранее, он пишет всех участников по ходу. Для «собери мне комментарии за прошлый год» он не годится.
Что делать, если у канала нет чата обсуждений?
Значит, и комментариев под постами нет — комментировать физически негде. Чат включается в настройках канала, раздел «Обсуждение»: можно привязать существующую группу или создать новую. Комментарии начнут собираться с этого момента, задним числом под старыми постами они не появятся.
Чем выгрузка комментариев отличается от выгрузки постов?
Источником. Посты со всеми цифрами достаются из самого канала, и на это нужны права администратора. Комментарии лежат в связанном чате, и достаются они оттуда. Дальше две таблицы сшиваются по номеру поста — получается одна строка на пост: текст, просмотры, реакции и все комментарии к нему.
Уже учитесь на курсе?
войдите, чтобы открыть все уроки