Skip to main content

Идентификаторы

Все основные сущности — пользователи, чаты, сообщения — имеют числовой ID (64-битный integer).

Chat ID

Тип чатаФормат
Direct (личка)положительное число, равно user_id собеседника
Группаотрицательное, типа -1234
Канал / Супергруппаотрицательное, начинается с -100, например -100123456

При вызове методов chat_id можно передать как:

  • Число12345 или -1001234.
  • Строка с числом"12345" (например, в JSON).
  • @username — если у чата есть публичный username.
{ "chat_id": -1001234, "text": "Привет" }
{ "chat_id": "@my_channel", "text": "Привет" }

Message ID

message_id уникален в рамках чата, не глобально. Используется в:

  • reply_to_message_id — отвечать на сообщение
  • editMessageText / editMessageMedia / deleteMessage
  • pinChatMessage / unpinChatMessage
  • forwardMessage

User ID

Каждый пользователь имеет постоянный id, не меняющийся при смене @username. Используется в banChatMember, promoteChatMember и т.д.

Бот тоже имеет ID — узнать через getMe.

Получение Chat ID

  • В webhook/getUpdates приходит message.chat.id — сохраните его.
  • Через @username: getChat?chat_id=@my_channel → ответ содержит id.
  • В UI приложения: ID не виден напрямую, нужно получить через бота.

Совет

Сохраняйте chat_id каждого юзера, который написал боту, в свою БД. Это позволит инициировать рассылку — у бота нет метода «найти чат по username», только если юзер первым с ним заговорил.