Получение идентификаторов (ID) сущностей используемых в Telegram
Идентификаторы Telegram: пользователи, боты, чаты и ссылки
Данная статья описывает, какие идентификаторы используются в Telegram, чем они отличаются друг от друга и как их быстро получить для интеграций и разработки ботов.
Термины
Username - публичное имя сущности в Telegram в виде
@name. Может меняться.Telegram ID - числовой уникальный идентификатор сущности. Постоянный, не меняется.
Что такое Telegram ID и зачем он нужен
Telegram ID - это уникальный числовой идентификатор сущности в Telegram:
пользователя
бота
чата / диалога
группы
супергруппы
канала
ID используется в автоматизации и интеграциях:
отправка сообщений через ботов
обработка событий через
webhook/getUpdates
Профиль пользователя
1) @username
@usernameВид: @username (или https://t.me/username)
Особенности:
может отсутствовать у пользователя
пользователь может сменить username
удобно использовать как публичную ссылку/поиск
Как получить:
вручную: открыть профиль пользователя в Telegram и посмотреть username (если задан)
2) ID пользователя (user_id)
user_id)Вид: число, например 123456789
Особенности:
есть всегда
не меняется со временем
Как получить:
через настройки Telegram (вручную):
открыть Настройки
перейти в Общие
включить опцию "Показывать ID чатов в профиле"
через бота @webhelpidbot:
user_id- это ID пользователя, который пишет боту в личные сообщения
Группа / супергруппа
1) @username группы (если группа публичная)
@username группы (если группа публичная)Вид: @groupusername или https://t.me/groupusername
Особенности:
встречается только у публичных групп (чаще всего - у супергрупп)
может быть изменён владельцем
удобно для ссылок и проверки доступности
Как получить:
вручную: в профиле группы (если задана публичная ссылка)
2) ID группы (chat_id)
chat_id)Вид: число, обычно отрицательное
Примеры:
группа:
-123456789супергруппа:
-1001234567890123
Особенности:
присутствует всегда
не меняется
Как получить через @webhelpidbot:
добавить бота в нужную группу
прямо в группе вызвать /id или просто упомянуть бота
бот вернёт
chat_id(он будет отрицательным - это нормальное поведение Telegram)
Канал
1) @username канала (если он публичный)
@username канала (если он публичный)Вид: @channelusername или https://t.me/channelusername
Особенности:
доступен только для публичных каналов
может измениться
подходит для ссылок на канал и посты
Как получить:
вручную: в профиле канала
Дополнительно:
Ссылка на конкретный пост: https://t.me/channelusername/<message_id>
2) ID канала (chat_id)
chat_id)Вид: число, обычно вида -100…
Пример: -1001234567890123
Особенности:
есть всегда
не меняется
Как получить:
Способ A - добавить бота администратором
открыть настройки канала → Администраторы
добавить @webhelpiebot
опубликовать любой пост (или отредактировать существующий)
После этого бот поймает событие и подскажет chat_id (обычно через /id в личке или по своей инструкции).
Способ B - переслать пост в бота
убедиться, что пересылка постов разрешена
переслать любой пост канала боту @webhelpiebot
бот определит канал-источник и вернёт его
chat_id
Способ C - восстановить ID по ссылке t.me/c/...
открыть пост, который выглядит так:
https://t.me/c/XXXXXXXXXX/YYвзять число
XXXXXXXXXXдописать префикс
-100→ получится-100XXXXXXXXXXпри необходимости сверить через бота
Если пересылка из канала запрещена, используйте Способ A - он обычно самый быстрый и стабильный.
Last updated