Боты8 мин чтения·12 августа 2026 г.

TelegramBot: что это за бот Telegram и нужно ли его блокировать

TelegramBot — автоматический fetcher Telegram, который получает веб-страницу, когда пользователь делится ссылкой, чтобы сформировать карточку с заголовком, описанием и изображением. Разбираемся, как найти TelegramBot (like TwitterBot) в access.log, настроить Open Graph и решить, когда использовать Allow или Block.

TVTrafficVeil TeamЭксперты по защите веб-трафика
Уникальная иллюстрация бота TelegramBot: легитимный превью ссылок в соцсетях

TelegramBot — автоматизированный HTTP-клиент Telegram, используемый прежде всего для формирования предварительного просмотра ссылок в сообщениях, группах и каналах.

Когда пользователь вставляет URL в Telegram, сервис может обратиться к указанной странице, получить сведения о ней и сформировать карточку ссылки.

Telegram официально описывает именно событийную модель: после вставки URL в поле сообщения приложение начинает анализировать ссылку и получать preview. Это принципиально отличается от обычного поискового crawler, который самостоятельно и систематически обходит тысячи страниц сайта.

В реальных access.log Telegram preview fetcher давно наблюдается с User-Agent:

TelegramBot (like TwitterBot)

Эта строка подтверждается независимыми техническими наблюдениями, в том числе Cloudflare Community и Atlassian.

Параметр Значение
Название TelegramBot
Оператор Telegram
Наблюдаемый User-Agent TelegramBot (like TwitterBot)
Устойчивый токен TelegramBot
Категория Social / Link Preview Fetchers
Назначение Формирование preview для URL, которыми делятся в Telegram
Тип активности Event-driven / on-demand fetch
Поисковый crawler Нет
Официальный публичный IP feed В проверенной документации Telegram не найден
TrafficVeil default Allow / Monitor

Зачем TelegramBot приходит на сайт

Обычный сценарий начинается с действия пользователя.

Пользователь Telegram
↓
вставляет https://example.com/article
↓
Telegram анализирует URL
↓
получает страницу и сведения о ней
↓
создаёт link preview
↓
показывает карточку сообщения

Telegram официально сообщает, что анализ URL начинается уже после его вставки в поле сообщения. Пользователь может удалить preview перед отправкой, если он ему не нужен.

Поэтому запрос TelegramBot может появиться в access.log ещё до того, как человек фактически перейдёт на сайт.

Что показывает Telegram в preview

Современные Telegram link previews могут содержать:

  • заголовок страницы;
  • описание;
  • изображение или другое media;
  • домен или название сайта;
  • дополнительные сведения в зависимости от типа страницы.

Telegram сам описывает link previews как карточки с title, description и media.

В Telegram API объект веб-страницы также содержит отдельные поля вроде site_name, title, description, photo и других данных, используемых при отображении preview.

Использует ли Telegram Open Graph

Open Graph имеет значение для формирования качественной карточки.

В официальной документации Telegram Instant View прямо упоминаются OpenGraph descriptions как один из источников короткого описания страницы для link preview. Там же указано использование подходящего изображения или другого media для thumbnail.

Поэтому для публичных страниц разумно корректно заполнять как минимум:

<meta property="og:title" content="...">
<meta property="og:description" content="...">
<meta property="og:image" content="https://example.com/image.jpg">
<meta property="og:url" content="https://example.com/article">

Это полезно не только Telegram, но и другим платформам, формирующим social preview.

Не уверены, кто ходит по вашему сайту?

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

Посмотреть свой трафик

TelegramBot — не обычный сайт-краулер

Для антибот-системы особенно важно правильно определить модель активности.

Поисковый crawler обычно действует примерно так:

Главная
↓
ссылки
↓
категории
↓
статьи
↓
ещё ссылки
↓
массовый индекс

У Telegram основной подтверждённый сценарий другой:

конкретный URL появился в Telegram
↓
fetch URL
↓
создание preview

Поэтому правильнее классифицировать TelegramBot как:

Social Crawlers
→ Link Preview / Unfurl
→ TelegramBot

а не как:

Search Crawlers

или:

General Web Scrapers

Почему один URL может получить несколько запросов

Event-driven модель не означает, что Telegram обязательно сделает ровно один HTTP-запрос.

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

  • сам HTML;
  • изображение;
  • redirect target;
  • другой media resource.

Кроме того, Telegram поддерживает кешированные представления веб-страниц. В API для webpage preview существует отдельный hash, используемый для caching.

Поэтому несколько запросов вокруг одной ссылки сами по себе не означают scraping.

Telegram Instant View и обычное превью — не одно и то же

У Telegram также существует Instant View — отдельный механизм оптимизированного отображения статей внутри Telegram.

Официальная документация объясняет, что когда Telegram требуется link preview, система также проверяет наличие Instant View template для домена. Если шаблон существует, Instant View Bot получает HTML-страницу и преобразует её по правилам соответствующего template.

Поэтому:

Telegram link preview

и:

Telegram Instant View

связаны, но технически не полностью идентичны.

Как выглядит User-Agent TelegramBot

Наиболее известная наблюдаемая строка:

TelegramBot (like TwitterBot)

Она неоднократно фиксировалась администраторами сайтов и сервисами, анализирующими входящий трафик. Например, Atlassian отдельно документировал ситуацию, когда Telegram делает запрос именно с этим UA для получения preview приватного URL.

Cloudflare Community также фиксировала тот же User-Agent при обсуждении классификации Telegram как TwitterBot.

Для TrafficVeil устойчивым токеном лучше считать:

TelegramBot

а не полное совпадение всей строки.

Как найти TelegramBot в access.log

Базовый поиск:

grep -i "TelegramBot" /var/log/nginx/access.log

Количество запросов:

grep -ic "TelegramBot" /var/log/nginx/access.log

Самые часто запрашиваемые URL:

grep -i "TelegramBot" /var/log/nginx/access.log \
| awk '{print $7}' \
| sort \
| uniq -c \
| sort -rn \
| head -30

Топ IP:

grep -i "TelegramBot" /var/log/nginx/access.log \
| awk '{print $1}' \
| sort \
| uniq -c \
| sort -rn \
| head -30

HTTP-коды:

grep -i "TelegramBot" /var/log/nginx/access.log \
| awk '{print $9}' \
| sort \
| uniq -c \
| sort -rn

Посмотрите, какие URL получает TelegramBot

У нормального link-preview fetcher ожидаются конкретные публичные URL, которые люди могли отправить в Telegram.

Например:

/blog/new-product
/news/company-update
/product/example
/article/how-to-protect-site

Не стоит ожидать систематического последовательного обхода всей структуры сайта.

Как выглядит нормальный профиль TelegramBot

Признак Ожидаемое поведение
Причина запроса Ссылка используется в Telegram
URL Конкретная публичная страница
Глубина Низкая / event-driven
Сессия Нет обычной пользовательской сессии
Конверсия Сам fetch конверсией не является
Назначение Получение metadata и media для preview

Не путайте TelegramBot с реальным переходом из Telegram

Это важный момент для аналитики.

Сначала Telegram может сделать:

TelegramBot
→ GET /article

чтобы сформировать preview.

А уже позже пользователь нажмёт на карточку:

Telegram user
→ browser / Telegram WebView
→ GET /article

Это два совершенно разных события.

Первое — automated service traffic.

Второе — реальный пользовательский переход.

Почему TelegramBot не нужно считать посетителем

Если не фильтровать такой traffic, статистика может завышать:

  • page views;
  • visits;
  • sessions;
  • популярность отдельных страниц;
  • объём якобы человеческого трафика.

Для TrafficVeil запрос TelegramBot нужно учитывать отдельно:

Automated Traffic
→ Social / Link Preview
→ Telegram
→ TelegramBot

Можно ли определить популярность ссылки по TelegramBot requests

Только очень приблизительно.

Не стоит считать:

100 TelegramBot requests
=
100 пользователей поделились ссылкой

или:

100 TelegramBot requests
=
100 просмотров в Telegram

На количество HTTP-запросов могут влиять caching, повторное получение ресурсов, разные URL-варианты и другие технические детали.

Telegram подтверждает использование caching для webpage preview на уровне своего API.

Как проверить настоящий TelegramBot

Здесь ситуация хуже, чем, например, с Googlebot или Brightbot.

В проверенной официальной документации Telegram я не нашёл публичного JSON/feed с IP-диапазонами именно link-preview crawler.

Поэтому нельзя строить глобальное правило:

TelegramBot
=
IP из официального списка Telegram preview crawler

если такого актуального официально опубликованного списка нет.

User-Agent можно подделать

Любой HTTP-клиент способен отправить:

User-Agent: TelegramBot (like TwitterBot)

Поэтому:

UA contains TelegramBot
→ unconditional trusted allow

создаёт потенциальный bypass.

Что использовать вместо одного UA

TrafficVeil может учитывать совокупность:

  • User-Agent;
  • IP;
  • ASN;
  • ASN organization;
  • network type;
  • TLS fingerprint;
  • HTTP fingerprint;
  • целевой URL;
  • частоту запросов;
  • поведенческую историю источника.

Для Telegram особенно важен behavioural profile — запросы должны быть похожи на получение конкретных публичных страниц для preview.

Как выглядит поддельный TelegramBot

Например:

User-Agent: TelegramBot (like TwitterBot)

GET /.env
GET /.git/config
GET /wp-config.php.bak
GET /backup.sql
GET /vendor/phpunit/
GET /phpmyadmin/

Такое поведение никак не соответствует обычному link-preview сценарию.

TrafficVeil должен классифицировать источник как:

TelegramBot UA spoofing
/
Suspicious automation

а не разрешать его только из-за названия.

Behavioural fingerprint TelegramBot

Признак Нормальный link preview Подозрительный источник
URL Публичные страницы .env, .git, backups
Глубина Низкая Массовый crawl всего сайта
Методы Получение ресурсов Перебор необычных методов
Паттерн Событийные обращения Непрерывный словарный scan
Назначение Metadata / media Security probing

Почему TelegramBot может запросить изображение

Telegram link previews поддерживают media, а официальное описание Instant View отдельно указывает, что для preview должен использоваться подходящий thumbnail, если подходящее изображение или документ присутствует на странице.

Поэтому после запроса HTML в логах/CDN могут появляться обращения к:

/images/article.jpg
/og/article-cover.webp
/uploads/news/image.png

Это может быть частью нормального формирования карточки.

Как проверить Open Graph перед блокировкой

Если TelegramBot приходит, но preview выглядит плохо, проблема может быть не в боте, а в metadata страницы.

Проверьте:

<meta property="og:title" content="Название">
<meta property="og:description" content="Описание">
<meta property="og:image" content="https://example.com/image.jpg">
<meta property="og:url" content="https://example.com/page">

Также полезно проверить обычный:

<title>...</title>
<meta name="description" content="...">

Telegram официально использует title, description и media для link previews, а документация Instant View упоминает OpenGraph description как источник описания.

Почему изображение должно быть доступно без авторизации

Если HTML открыт, а og:image защищён:

401
403
cookie-only access
hotlink protection

Telegram может не получить media для карточки.

Это особенно важно при настройке WAF или anti-hotlink правил.

Не блокируйте TelegramBot JavaScript challenge

Link-preview fetcher не следует считать обычным браузером человека.

Если защита требует:

JavaScript challenge
CAPTCHA
browser interaction

автоматический fetcher может не пройти такую проверку, и preview перестанет формироваться.

Поэтому для подтверждённого или вероятного TelegramBot лучше использовать отдельную bot policy вместо человеческой CAPTCHA.

robots.txt и TelegramBot

Для Telegram preview я бы не использовал robots.txt как основной механизм контроля.

В проверенной официальной документации Telegram не найдено отдельной актуальной crawler-policy, которая гарантировала бы обработку:

User-agent: TelegramBot

как стандартного search crawler.

Основная подтверждённая функция TelegramBot — on-demand получение ссылки для preview, а не систематическая поисковая индексация.

Поэтому для TrafficVeil:

robots.txt compliance: Unverified
server-side control: Recommended when blocking is required

Можно ли всё же добавить правило robots.txt

Да, как декларативную политику:

User-agent: TelegramBot
Disallow: /

Но если вам нужен гарантированный технический запрет, используйте WAF, reverse proxy или веб-сервер.

Блокировка TelegramBot через Nginx

if ($http_user_agent ~* "TelegramBot") {
    return 403;
}

Это простой UA-фильтр.

Он заблокирует как настоящий Telegram preview fetcher, так и любого клиента, который представился TelegramBot.

Apache

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} TelegramBot [NC]
RewriteRule ^ - [F,L]

Стоит ли блокировать TelegramBot

Для большинства публичных сайтов, которые получают аудиторию из Telegram, базовая рекомендация — Allow.

Причина простая: ссылка с нормальной карточкой выглядит заметно лучше обычного URL.

Telegram позволяет preview показывать title, description и media, а пользователь может отдельно выбирать размер изображения и положение карточки в сообщении.

Что будет после блокировки

Если Telegram не сможет получить страницу, preview может:

  • не появиться;
  • показать меньше информации;
  • остаться устаревшим из-за кеша;
  • не получить изображение;
  • выглядеть как обычная ссылка.

Конкретный результат зависит от уже имеющихся у Telegram данных и типа страницы.

Когда Block всё же оправдан

Блокировать TelegramBot можно, если:

  • сайт принципиально не хочет link previews;
  • автоматический доступ к страницам запрещён политикой проекта;
  • Telegram distribution не нужна;
  • UA используется для spoofing;
  • под TelegramBot идёт security scanning;
  • наблюдается аномальная нагрузка, которую невозможно решить мягче.

Нужен ли Rate Limit

Для нормального event-driven TelegramBot жёсткий Rate Limit обычно не должен быть первым действием.

Сначала посмотрите:

  • Requests;
  • Unique URLs;
  • RPS/RPM;
  • Bandwidth;
  • Response Size;
  • Cache HIT Ratio;
  • Origin Requests;
  • Top URLs.

Если TelegramBot дал по внутренней статистике TrafficVeil порядка 1,2 тыс. запросов, рядом с цифрой обязательно следует показывать период измерения.

Кеширование особенно полезно для Telegram preview

Публичные статьи и их media обычно хорошо подходят для edge caching.

Например:

TelegramBot
↓
TrafficVeil cache
↓
HIT
↓
origin не используется

В таком случае несколько link-preview fetch практически не создают нагрузки на приложение.

Почему TelegramBot может быть полезен маркетингу

У social preview есть практическая ценность.

Вместо:

https://example.com/article

пользователь видит полноценную карточку с названием, описанием и изображением.

Сам Telegram подчёркивает, что link previews предназначены именно для того, чтобы пользователь мог понять содержание ссылки до её открытия.

TelegramBot не является источником конверсии

Автоматический fetch нельзя считать переходом из Telegram.

Правильная аналитика:

TelegramBot request
→ Automated / Link Preview

человек нажал ссылку
→ Human Traffic / Telegram referral

Это две разные сущности.

С кем не путать TelegramBot

Агент Назначение
TelegramBot Telegram link preview / unfurl
facebookexternalhit Meta link preview
LinkedInBot LinkedIn link preview
Twitterbot Preview для X/Twitter
Googlebot Search crawling

Особенно забавно название:

TelegramBot (like TwitterBot)

Но фраза like TwitterBot в UA не означает, что запрос принадлежит Twitter/X. Это TelegramBot, который исторически идентифицирует себя такой строкой.

Рекомендуемая карточка TrafficVeil

Поле Значение
Name TelegramBot
Operator Telegram
Category Social / Link Preview Fetchers
Subtype Event-driven Link Unfurl
Observed UA TelegramBot (like TwitterBot)
UA token TelegramBot
Product legitimacy Legitimate
HTTP identity Observed / behavioral verification
Official dedicated IP feed Not found in checked Telegram documentation
robots.txt compliance Unverified
Default action Allow / Monitor
Human analytics Exclude
Social service analytics Include

Стратегия Allow / Monitor / Rate Limit / Block

Ситуация Рекомендация
Telegram — важный канал распространения Allow
Нагрузка минимальна Allow / Monitor
Preview нужен, но origin получает лишние запросы Cache
Аномально высокая частота Verify → Rate Limit
Link preview принципиально не нужен Block
UA TelegramBot занимается vulnerability scanning Block / Reclassify

Что показывать пользователю TrafficVeil

Вместо общего:

«TelegramBot — легитимный бот. Разрешайте по бизнес-пользе.»

лучше показать:

TelegramBot — сервисный fetcher Telegram для формирования карточек ссылок в сообщениях и каналах. Обычно он приходит после того, как пользователь вставил URL в Telegram, получает title, description и media и не выполняет полный crawl сайта. Если Telegram важен как канал распространения, рекомендуем Allow.

Итог

TelegramBot — легитимный event-driven link-preview fetcher Telegram, а не поисковый crawler. Telegram официально подтверждает, что анализ URL начинается при вставке ссылки в сообщение, а link preview содержит title, description и media.

В access.log наиболее известным идентификатором является TelegramBot (like TwitterBot). Строка хорошо подтверждается реальными техническими наблюдениями, хотя отдельного официального Telegram crawler directory с этим UA и публичным IP feed при проверке не найдено.

Поэтому для TrafficVeil оптимальная классификация:

Social / Link Preview Fetchers
→ Telegram
→ TelegramBot

Default: Allow / Monitor
Human analytics: Exclude

Если сайт активно продвигается через Telegram, блокировать этот трафик по умолчанию не стоит: корректный preview помогает ссылке нормально выглядеть в сообщениях. Если же клиент с UA TelegramBot начинает перебирать .env, backup-файлы и другие технические endpoint, TrafficVeil должен игнорировать заявленное имя и классифицировать источник по фактическому поведению.

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

Что такое TelegramBot?
Это автоматизированный клиент Telegram, связанный с формированием link preview. Telegram официально сообщает, что после вставки URL в сообщение начинает анализировать ссылку и получать данные для предварительного просмотра.
Как выглядит User-Agent TelegramBot?
В реальных серверных логах давно наблюдается TelegramBot (like TwitterBot). Такая строка зафиксирована, например, в Cloudflare Community и документации Atlassian по проблемам с Telegram link preview.
Что Telegram получает со страницы?
Telegram использует данные страницы для карточки с title, description и media. В документации Instant View отдельно упоминаются Open Graph descriptions и изображения, пригодные для link preview.
TelegramBot постоянно сканирует сайт?
Основной подтверждённый сценарий событийный: пользователь вставляет или отправляет URL, после чего Telegram получает информацию для preview. Это существенно отличается от систематического полного обхода сайта поисковым crawler.
Повлияет ли блокировка TelegramBot на Google?
Нет прямой связи. TelegramBot предназначен для функций Telegram и не является Googlebot. Точечное правило по TelegramBot не является правилом для поискового crawler Google.
Стоит ли блокировать TelegramBot?
Если ссылки сайта активно распространяются в Telegram, обычно лучше Allow: иначе карточки ссылок могут перестать формироваться корректно. Block имеет смысл, если previews не нужны либо наблюдаемый клиент демонстрирует аномальное поведение.
#TelegramBot#Telegram bot#Telegram crawler#Telegram link preview#TelegramBot like TwitterBot#link preview#unfurl bot#Open Graph#User-Agent#TrafficVeil
TV
TrafficVeil Team

Команда TrafficVeil разрабатывает инструменты защиты сайтов от ботов, DDoS и веб-атак. Разборы ботов пишем по логам подключённых доменов и открытым данным операторов.

Похожие статьи

Ещё материалы из раздела «Боты» — те же вопросы, другие агенты.

Проверьте защиту своего сайта

Подключение занимает несколько минут. Начните с анализа трафика и включайте блокировки после проверки логов.

Тарифа на трафик нет. Платите за людей, а не за тех, кого отбили: боты, атаки и всё, что срезали фильтры, в счёт не идут. Тариф — число доменов и глубина настроек.

TrafficVeil
TelegramBot — что это за бот Telegram и нужно ли блокировать