Получение идентификаторов (ID) сущностей используемых в Telegram

Идентификаторы Telegram: пользователи, боты, чаты и ссылки

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

Термины

  • Username - публичное имя сущности в Telegram в виде @name. Может меняться.

  • Telegram ID - числовой уникальный идентификатор сущности. Постоянный, не меняется.

Что такое Telegram ID и зачем он нужен

Telegram ID - это уникальный числовой идентификатор сущности в Telegram:

  • пользователя

  • бота

  • чата / диалога

  • группы

  • супергруппы

  • канала

ID используется в автоматизации и интеграциях:

  • отправка сообщений через ботов

  • обработка событий через webhook / getUpdates

Профиль пользователя

1) @username

Вид: @username (или https://t.me/username)

Особенности:

  • может отсутствовать у пользователя

  • пользователь может сменить username

  • удобно использовать как публичную ссылку/поиск

Как получить:

  • вручную: открыть профиль пользователя в Telegram и посмотреть username (если задан)

2) ID пользователя (user_id)

Вид: число, например 123456789

Особенности:

  • есть всегда

  • не меняется со временем

Как получить:

  • через настройки Telegram (вручную):

    1. открыть Настройки

    2. перейти в Общие

    3. включить опцию "Показывать ID чатов в профиле"

  • через бота @webhelpidbot:

    • user_id - это ID пользователя, который пишет боту в личные сообщения

Группа / супергруппа

1) @username группы (если группа публичная)

Вид: @groupusername или https://t.me/groupusername

Особенности:

  • встречается только у публичных групп (чаще всего - у супергрупп)

  • может быть изменён владельцем

  • удобно для ссылок и проверки доступности

Как получить:

  • вручную: в профиле группы (если задана публичная ссылка)

2) ID группы (chat_id)

Вид: число, обычно отрицательное

Примеры:

  • группа: -123456789

  • супергруппа: -1001234567890123

Особенности:

  • присутствует всегда

  • не меняется

Как получить через @webhelpidbot:

  1. добавить бота в нужную группу

  2. прямо в группе вызвать /id или просто упомянуть бота

  3. бот вернёт chat_id (он будет отрицательным - это нормальное поведение Telegram)

Канал

1) @username канала (если он публичный)

Вид: @channelusername или https://t.me/channelusername

Особенности:

  • доступен только для публичных каналов

  • может измениться

  • подходит для ссылок на канал и посты

Как получить:

  • вручную: в профиле канала

Дополнительно:

Ссылка на конкретный пост: https://t.me/channelusername/<message_id>

2) ID канала (chat_id)

Вид: число, обычно вида -100…

Пример: -1001234567890123

Особенности:

  • есть всегда

  • не меняется

Как получить:

Способ A - добавить бота администратором

  1. открыть настройки канала → Администраторы

  2. добавить @webhelpiebot

  3. опубликовать любой пост (или отредактировать существующий)

После этого бот поймает событие и подскажет chat_id (обычно через /id в личке или по своей инструкции).

Способ B - переслать пост в бота

  1. убедиться, что пересылка постов разрешена

  2. переслать любой пост канала боту @webhelpiebot

  3. бот определит канал-источник и вернёт его chat_id

Способ C - восстановить ID по ссылке t.me/c/...

  1. открыть пост, который выглядит так: https://t.me/c/XXXXXXXXXX/YY

  2. взять число XXXXXXXXXX

  3. дописать префикс -100 → получится -100XXXXXXXXXX

  4. при необходимости сверить через бота

Если пересылка из канала запрещена, используйте Способ A - он обычно самый быстрый и стабильный.

Last updated