Гайд

Как узнать chat ID в Telegram: свой, группы, канала, темы

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

AdminHub

Подключите агента сегодня

Подключить агента в боте

Коротко. Свой ID: нажмите «Запустить» в @getid_adminhub_bot. Человека или бота: выберите кнопкой «Человек» или «Бот» в том же боте. Открытого канала или группы: вставьте @юзернейм в поиск chat ID. Закрытого: вставьте ссылку на любой его пост (t.me/c/…) — ID построится из ссылки. Темы: /id@getid_adminhub_bot внутри неё. ID каналов и супергрупп начинаются с -100; копируйте вместе с минусом.

Chat ID — число, которым Bot API обозначает, куда отправить сообщение. Любая интеграция, которая пишет в Telegram, — скрипт, автоматизация, ИИ-агент — просит его рядом с токеном бота. Подвох в том, что обычные приложения Telegram этот номер не показывают, поэтому разберём каждый вид чата и самый быстрый способ узнать его число.

Самый быстрый способ для каждого вида чата

Чей IDБыстрее всегоЕщё способ
Свой«Запустить» в @getid_adminhub_botНаписать своему боту, а потом посмотреть его обновления в проверке токена
Другого человекаКнопка «Человек» в боте — выберите его из своих чатовПереслать боту его сообщение — если он не скрыл аккаунт при пересылке
БотаКнопка «Бот» в ботеДля своего бота: вставить его токен в проверку токена
Открытого канала или группыВставить @юзернейм или ссылку t.me в поиск chat IDКнопка «Канал» / «Группа» в боте
Закрытого канала или супергруппыВставить в поиск ссылку на любой пост (t.me/c/…)Кнопка «Канал» / «Группа» в боте (в «Мой канал» / «Моя группа» — только созданные вами)
Темы в группе-форумеОтправить /id@getid_adminhub_bot в теме, когда бот в группеНайти message_thread_id в обновлениях своего бота
Чатов, которые писали вашему боту за последние 24 часаВставить токен бота в проверку токена — бот остановлен, вебхука нет—

Почему строка про человека идёт через сам Telegram: ID человека в вебе не публичен. Bot API документирует поиск по юзернейму для каналов, супергрупп и ботов, но не для людей, а бот узнаёт ID человека из того, что к нему приходит, — например, когда тот ему пишет или когда кто-то выбирает его в выборе чата или пересылает его сообщение (если человек не скрыл аккаунт при пересылке). Кнопки выбора в @getid_adminhub_bot работают именно так: вы выбираете из своего списка чатов, бот присылает ID и ни в один выбранный чат не вступает.

Что значат эти числа

Справочник Telegram по ID в Bot API раскладывает все чаты на одну числовую прямую, так что по знаку и величине числа видно, что это за чат:

  • Человек (и личный чат с ним): положительное число, например 987654321.
  • Обычная группа: внутренний ID со знаком минус, -4123456789.
  • Супергруппа или канал: минус от суммы 1 000 000 000 000 и внутреннего ID. При внутренних ID сегодняшней длины это выглядит как -100 и дальше внутренний номер: -1001234567890.

Число из ссылки на пост закрытого канала, t.me/c/1234567890/45, — внутреннее; chat ID строится из него, и ровно это делает поиск chat ID, когда вы вставляете такую ссылку, — а генератор ссылок делает обратное, когда собирает ссылку t.me/c/ по ID. ID может быть длиннее 32 бит, но не длиннее 52, так что храните его как 64-битное целое, а не 32-битное.

Возможно, число вообще не нужно

Для открытого канала, супергруппы с юзернеймом или бота chat_id в Bot API принимает сам юзернейм: @yourchannel работает везде, где работает число. Число нужно для всего, у чего юзернейма нет, — личного чата с человеком, закрытого канала, обычной группы, — и надёжнее в любом случае: юзернейм можно сменить или освободить, ID — нет.

Когда chat ID меняется

Один раз. Когда обычную группу превращают в супергруппу, она получает новый ID, начинающийся с -100, а старый перестаёт быть правильным адресом. На запрос к старому ID Telegram отвечает ошибкой, в которой новый ID лежит в migrate_to_chat_id, так что аккуратный скрипт может переключиться сам. Если ваш бот был в группе в этот момент, проверка токена покажет новый ID рядом со старым.

Юзернеймы меняются, ID — нет. Канал, который сменил название или @юзернейм, сохраняет тот же chat ID.

Частые ошибки

  • Потерянный минус. 1001234567890 и -1001234567890 — разные чаты. Копируйте число целиком.
  • Число из ссылки t.me/c/ как есть. Это внутренний ID; chat ID — это -100 и он (а точно — минус сумма, описанная выше).
  • Старый ID группы, после того как она стала супергруппой.
  • Отправка в канал, где бот не админ. ID может быть верным, а запрос всё равно отклонят: чтобы писать в канал, бот должен быть одним из его администраторов.
  • ID бота вместо chat ID. Собственный ID вашего бота — тот, что возвращает getMe, — это откуда сообщения приходят, а не куда они идут.

Если вы настраиваете бота с нуля, гайд по токену бота разбирает второе значение, которое просит любая интеграция.


Источники, проверено в октябре 2026: Bot API dialog IDs — диапазоны ID людей, групп, супергрупп и каналов; Telegram Bot API — sendMessage (chat_id числом или @username, message_thread_id), getChat (юзернеймы супергрупп и каналов), KeyboardButtonRequestUsers и KeyboardButtonRequestChat (выбор чата), MessageOrigin (пересланные сообщения), ResponseParameters (migrate_to_chat_id); ссылки t.me и tg:// — ссылки на посты закрытых каналов.

Что обычно спрашивают

Как узнать свой ID в Telegram?
Откройте в Telegram @getid_adminhub_bot и нажмите «Запустить»: он сразу пришлёт ваш ID. Любой бот видит то же число, когда вы ему пишете, потому что ID личного чата с человеком — это ID этого человека.
Как узнать chat ID канала в Telegram?
Для открытого канала вставьте его @юзернейм или ссылку t.me в поиск chat ID на AdminHub — ID придёт сразу. Для закрытого вставьте ссылку на любой его пост (t.me/c/…), и ID вычислится из самой ссылки. Или откройте @getid_adminhub_bot и выберите канал кнопкой «Канал» — в «Мой канал» только каналы, которые создали вы. ID канала начинается с -100.
Почему chat ID начинается с -100?
Потому что это супергруппа или канал. Bot API делает их ID отрицательными и прибавляет 1 000 000 000 000 к внутреннему ID, поэтому при внутренних ID сегодняшней длины число выглядит как -100 и следом внутренний номер. Копируйте его целиком, вместе с минусом.
Можно ли писать @юзернейм вместо chat ID?
Для открытого канала, супергруппы или бота — да: chat_id в Bot API принимает юзернейм в формате @username. У личного чата, закрытого канала и обычной группы юзернейма нет, им нужен числовой ID.
Как узнать ID темы в группе?
Добавьте @getid_adminhub_bot в группу и отправьте /id@getid_adminhub_bot внутри темы: он ответит ID группы и message_thread_id темы. Это второе число передают как message_thread_id, чтобы писать в эту тему.
Почему у группы сменился chat ID?
Группу превратили в супергруппу. ID обычной группы заменяется новым, начинающимся с -100; на запросы к старому ID Telegram отвечает ошибкой, в которой новый ID лежит в migrate_to_chat_id. Дальше пользуйтесь новым.