Как узнать Telegram ID: пользователя, чата, канала или бота

Специальный корреспондент
Собака

Собака

Пресс-служба
Ветеран пробива
Private Club
Регистрация
13/10/15
Сообщения
62.364
Репутация
64.760
Реакции
298.354
USDT
0
В этой статье разберем один из самых частых вопросов, связанных с Telegram: как узнать Telegram ID - и не только свой, но и группы, канала, чата или бота.

Покажу множество способов - как простых, так и чуть сложнее, но надежнее.
А в конце будет бонус: код для своего бота для получения ID, чтобы не пересылать сообщения в стороннии сервисы.

Если вы просто хотите быстро найти ID и не хотите читать кучу текста - мотайте ближе к середине, когда начнутся способы. Первый из них будет самым простым.

Telegram ID - что это и зачем нужно?​

Итак, Telegram ID - это зачастую скрытый уникальный числовой идентификатор, который присваивается каждому пользователю, группе, каналу или боту при создании/регистрации.

Причем айди пользователя никогда не меняется и является постоянным, тогда как айди чата может меняться при миграции в супергруппу.

Его основная суть в однозначной идентификации пользователя, то есть вы сможете по ID идентифицировать пользователя в коде/боте, даже если он сменил никнейм. Чаще всего он используется в разработке или в ботах.

Важная оговорка. Открыть профиль пользователя по ID можно только, если ваши сессии "знакомы": у вас есть сообщения в личке, есть общие чаты и т.п. Если ваши сессии совершенно незнакомы, открыть профиль только по ID не получится.

Отличия Chat ID от User ID​

UserID - идентификатор человека (или бота) как пользователя Telegram. Как я уже говорил ранее, он никогда не меняется и является постоянным.

ChatID - идентификатор места, куда пишут: личка, группа, супергруппа, канал. Здесь важно: айди чата лички будет равен UserID пользователя, которому вы пишите. Для ботов также: ID чата = ID пользователя, который пишет этому самому боту. Поэтому бот всегда понимает, кому отвечать, просто используя chat.id.

Помимо этого, ChatID супергрупп и каналов имеет уникальный и отличный от обычных Chat/UserID вид: они начинаются с -100.

Давайте же перейдем к самому интересному: к способам поиска ID.

Способ 1: Использование сторонних ботов​

Самый популярный путь: написать/переслать сообщение/отправить контакт боту, который показывает ID. Одни из популярных - это @getmyid_bot и @username_to_id_bot.

Плюсы: быстро.
Минусы: это сторонний бот, так что не всегда конфиденциально.

Способ 2.1: Отображение ID в клиенте Telegram​

Официальный клиент Telegram​

В официальном клиенте доступна возможность отображения ID чата/пользователя прямо в интерфейсе. Включить отображение можно, используя пошаговую инструкцию ниже:

  1. Открываем настройки Telegram,
  2. Переходим в "Продвинутые настройки",
Продвинутые настройки

Продвинутые настройки
3. В них мотаем в самый них и открываем "Экспериментальные настройки"

Эксперементальные настройки

Эксперементальные настройки
4. Включаем "Show Peer IDs in Profile"

Включаем настройку

Включаем настройку
5. Все! Теперь, если открыть профиль любого пользователя, вы сможете увидеть его ID.

Telegram ID

Telegram ID
В таком способе есть минусы. Как в уже знаете, Chat ID суперчатов начинается с -100, что очень важно при работе через BotAPI. Однако, используя этот способ, ID будет отображаться без -100.
Просто будьте готовы приписывать -100, если в разработке появятся ошибки.

Сторонние неофициальные клиенты для определения TG ID​

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

Способ 2.2: Как открыть профиль по URL с User ID​

В некоторых клиентах Telegram возможно открыть профиль пользователя, сформировав определенный URL, обращающийся к приложению Telegram.

URL будет выглядеть так:

tg://user?id=<ТУТ-USERID>


Способ 3 (для разработчиков): как достать ID через getUpdates​

Для этого способа понадобится токен вашего бота от @BotFather (проверьте, чтоб параллельно не работал webhook или polling - будет конфликт).

Чтобы увидеть ID, откройте следующий URL в браузере или выполните curl в терминале:

https://api.telegram.org/bot<ВАШ_ТОКЕН>/getUpdates


Вам вернется JSON со всеми данными. В нем ищите:

Способ позволяет узнать Telegram ID чата, группы, бота и пользователя.

Помимо этого, что очевидно, можно использовать любые библиотеки для работы с Telegram. Поскольку это не открытие, расписывать здесь это не буду.

Способ 4: Собственный бот буквально за 5-10 минут.​

Чтобы максимизировать приватность и безопасность, можно написать своего бота для определения Telegram ID. Я это уже сделал - скачать код можно в нашем репозитории GitHub.

Обзор функционала бота​

Бот содержит в себе следующий функционал:

  • Отправка ID через клавиатуру бота:
    • Выбор пользователя
    • Выбор группы/супергруппы
    • Выбор канала
    • Выбор контакта (своего)
  • Отправка ID чата/канала по @username
  • Отправка ID по reply (ответу) или forward (пересылке сообщений)
Пример работы бота по определению Telegram ID

Пример работы бота по определению Telegram ID
Я рассмотрел четыре способа - какой выбрать решать вам. Надеюсь, краткая справка по определению Telegram ID была вам полезна.







Источник
 
  • Теги
    telegram
  • Назад
    Сверху Снизу