Войти в Senler

Получение идентификаторов (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)
  4. Создаём отдельный бот для уведомлений через бот @BotFather

Отправка уведомления в чат Телеграма

  1. Создаём отдельный бот для уведомлений через бот @BotFather
  1. Переходим в настройки бота
  1. Выставляем так его параметры, отключив Group Privacy

  2. Добавляем бот в группу в настройках чата

  3. Пишем произвольное сообщение, а лучше несколько в чат для уведомлений

  4. Далее копируем API-ключ нашего бота из BotFather и в адресную строку подставляем такую ссылку https://api.telegram.org/botТОКЕНБОТА/getUpdates, выставив вместо ТОКЕНБОТА скопированный API-ключ. После установки ключа нажимаем на кнопку Enter

  5. Находим ID чата - он будет отображаться со знаком “-” и будет подписан как “supergroup”. Для удобства поиска можно на странице выставить галочку напротив параметра “Автоформатирование”.

  6. Копируем этот параметр со знаком “-” и в интеграции Сенлера выставляем его в параметр ChatID.

  7. Выставляем нужный текст и переменные в сообщении и можно тестировать

Канал

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 - он обычно самый быстрый и стабильный.