Как узнать chat ID в Telegram: свой, группы, канала, темы
Свой ID, ID человека, группы, канала — открытого и закрытого — и темы: самый быстрый способ для каждого, что значит -100 и когда ID меняется.
Подключите агента сегодня
Подключить агента в ботеКоротко. Свой 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. Дальше пользуйтесь новым.