Аналитика групп и каналов

Рецепт полного отчёта о публичном канале Telegram: охват, что читатели пересылают, темы, ритм публикаций, опросы и комментарии — с примером отчёта.

Этот рецепт нужен, когда вы хотите понять канал в Telegram: свой, канал конкурента или канал, где думаете купить рекламу. Агент читает публичные посты канала инструментом командной строки tg и пишет отчёт: сколько подписчиков видят пост, какие посты читатели пересылают, какие темы и форматы работают и что попробовать дальше. Нужен аккаунт Telegram, который может открыть канал. Быть админом не нужно.

Что вы получите

Посмотрите пример отчёта по @AI_DeepLearning — англоязычному каналу на 17 тысяч подписчиков с обзорами статей по компьютерному зрению. В отчёте 1 582 поста с 2017 года по октябрь 2026-го и комментарии за год. В нём есть:

  • Охват: доля подписчиков, которые видят обычный пост, и как менялись просмотры по месяцам и годам.
  • Лифт: просмотры поста по сравнению с соседними постами, чтобы честно сравнивать старые и новые посты. Пост с лифтом 1,5 и выше «выстрелил».
  • Что читатели пересылают: пересылки и реакции на 1 000 просмотров — по формату, длине, теме и первой строке.
  • Ритм: дни и часы публикаций и разница между днями с одним постом и днями с тремя.
  • Опросы и комментарии: доля проголосовавших, самые большие опросы, сколько человек комментируют и как часто отвечает автор.
  • Выводы: что работает, что можно улучшить и какие эксперименты провести — каждый пункт с цифрой.

Например, в примере видно, что посты с уже опубликованным кодом читатели пересылают чаще (5,3 раза на 1 000 просмотров против 4,0 по каналу), а просмотры после трёхмесячного перерыва в публикациях упали примерно на 40% и не вернулись.

Пример сделан нашим внутренним скриптом. Скрипт не опубликован. Шаги ниже используют только публичные команды tg, поэтому ваш агент может сделать такой же отчёт.

Что нужно заранее

  • tg установлен, и в нём выполнен вход в ваш аккаунт Telegram. См. Установку.
  • Ваш аккаунт может открыть канал. Достаточно, что канал публичный; вступать в него не нужно.
  • ИИ-агент, который может запускать команды на вашем компьютере. См. Подключение агента.
  • Для анализа скриптом — Python 3.11 или новее. Агент может разобрать данные и без скрипта.

Попросите агента

Запрос
Используй tg CLI. Сделай аналитический отчёт по каналу Telegram @example_channel. Прочитай все его посты, опросы и комментарии под постами за последние 90 дней. Сохрани исходные данные в локальную папку. Затем посчитай охват, лифт, пересылки и реакции на 1 000 просмотров, темы, ритм публикаций, опросы и комментарии и напиши одностраничный HTML-отчёт с графиками и своими выводами. Комментаторов считай, но никогда не называй. Только чтение: не вступай в канал, не ставь реакции, не голосуй и не комментируй.

Замените @example_channel на нужный канал. Если канал о другом, назовите агенту его темы — см. Настройте темы.

Что происходит

  1. Агент открывает канал. Он получает у Telegram название, описание и число подписчиков.
  2. Читает все посты, по 100 за раз. У каждого поста есть просмотры, пересылки, реакции и число комментариев.
  3. Читает опросы и комментарии. Комментарии он открывает только под недавними постами, где они есть.
  4. Сохраняет исходные данные на вашем компьютере. Никуда больше ничего не отправляется.
  5. Анализирует данные и пишет отчёт. На этом шаге Telegram не нужен.

Все шаги только читают. Агент не вступает в канал, не ставит реакции, не голосует и не комментирует.

Сколько это занимает

Посты читаются примерно за 1 минуту на 1 000 постов. Комментарии — примерно 1 минута на 15 постов с комментариями. Для примера посты заняли около минуты, а комментарии за год (71 пост) — около 3 минут. Анализ и текст отчёта занимают у агента ещё несколько минут.

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

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

Здесь профиль называется personal. Подставьте имя своего профиля.

tg personal --json chats show @example_channel
tg personal --json messages list @example_channel --limit 100
tg personal --json messages list @example_channel 'id<1201' --limit 100
tg personal --json messages comments @example_channel 1250 --limit 100
tg personal --json polls show @example_channel 1189
  • chats show даёт название, описание и число подписчиков (participants_count).
  • messages list даёт 100 самых новых постов. Чтобы читать дальше в прошлое, добавьте id<N, где N — самый старый id на предыдущей странице. Повторяйте, пока страница не придёт пустой.
  • Альбом (несколько фото или видео, отправленных вместе) приходит несколькими сообщениями с одинаковым groupedId в provider_metadata. Считайте его одним постом.
  • У каждого поста views, forwards и comments лежат в provider_metadata, реакции — в reactions. Опрос несёт вопрос и общее число голосов в provider_metadata.poll.
  • messages comments даёт комментарии под одним постом. В каждом комментарии есть имя автора, поэтому эти файлы не публикуйте.
  • polls show даёт ответы одного опроса с числом голосов, если Telegram показывает их вашему аккаунту.

Проверьте результат

В полном отчёте сказано, сколько постов прочитано и с какой даты. Сравните это число с id самого нового поста. Разница — это удалённые посты, лишние части альбомов и служебные сообщения, например «канал создан» или закреп. У служебных сообщений нет просмотров, и это не посты. В примере самый новый id был 1758, а в отчёте 1 582 поста.

Отчёт должен отделять измеренное от догадок. «Просмотры упали после перерыва» — это измерение. «Часть читателей выключила уведомления» — догадка: Telegram этого не показывает.

Чего не видно

  • История подписчиков. Telegram даёт число подписчиков только на сегодня. Рост, источники подписчиков и просмотры по часам есть в официальной статистике канала, а она доступна только админам.
  • Удалённые посты. Их больше нет в истории.
  • Ответы некоторых опросов. Для опроса, в котором ваш аккаунт не голосовал, Telegram может дать только общий итог.
  • Старые просмотры. У самых ранних постов некоторых каналов нет числа просмотров.

Настройте темы

Темы и первые строки отчёт находит по ключевым словам. Список для одного канала не подходит другому. Назовите агенту темы в запросе, например:

Запрос
Темы этого канала: 3D-реконструкция (3D, NeRF, mesh, depth), поза и движение человека (pose, motion, avatar), генерация картинок и видео (diffusion, GAN, text-to-video), LLM (LLM, VLM, GPT). Ещё посчитай посты, где сказано, что код опубликован, и посты, где его только анонсировали.

Сначала прочитайте посты, потом выбирайте слова. Проверьте несколько постов в каждой теме. Ключевые слова грубые: «motion» находит и движение робота.

Для группы

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

Приватность

  • Храните исходные данные у себя. В комментариях есть имена авторов и их имена пользователей.
  • Не публикуйте имена читателей. Считайте комментаторов, но не перечисляйте их. Прежде чем делиться отчётом, проверьте, нет ли в нём имён пользователей, ссылок на профили людей, номеров телефонов и адресов почты. В примере читатели только посчитаны.
  • Посты публичны, люди — нет. Цитировать посты самого канала можно. Цитата из комментария может выдать частного человека: уберите её или спросите его.

Дальше сравните два канала: запустите тот же запрос для второго канала с теми же темами и попросите агента поставить два отчёта рядом.