Объекты
Объекты
Формат ответа
Все ответы API имеют единый формат:
{ "ok": true, "result": { ... } }
При ошибке:
{ "ok": false, "error_code": 400, "description": "chat_id required" }
Коды ошибок
| Код | Описание |
|---|
| 400 | Неверные параметры запроса |
| 401 | Неверный токен или токен отсутствует |
| 403 | Нет прав (бот не в чате / нет нужного permission) |
| 404 | Объект не найден (чат, сообщение, пользователь) |
| 409 | Конфликт — уже запущен getUpdates для этого токена |
| 422 | Бизнес-логика: нельзя выполнить (например, файл слишком большой) |
| 429 | Превышен лимит (slow mode) — ответ содержит retry_after |
| 500 | Внутренняя ошибка сервера |
Update
{
"update_id": 1,
"message": { ... }
}
| Поле | Тип | Описание |
|---|
update_id | int | Уникальный ID апдейта |
message | Message | Новое сообщение |
edited_message | Message | Изменённое сообщение |
callback_query | CallbackQuery | Нажатие inline-кнопки |
message_reaction | MessageReaction | Реакция на сообщение |
Message
{
"message_id": 100,
"from": { "id": 42, "is_bot": true, "first_name": "My Bot", "username": "myawesomebot" },
"chat": { "id": 123, "type": "direct" },
"date": 1714728000,
"text": "Привет!",
"media_url": null,
"media_type": null,
"reply_to_id": null,
"forward_from_user_id": null,
"forward_from_user_name": null,
"forward_from_chat_id": null
}
| Поле | Тип | Описание |
|---|
message_id | int | ID сообщения |
from | User | Отправитель |
chat | Chat | Чат |
date | int | Unix timestamp |
text | str или null | Текст |
media_url | str или null | URL медиафайла |
media_type | str или null | image, video, audio, file |
media_name | str или null | Исходное имя файла |
reply_to_id | int или null | ID цитируемого сообщения |
forward_from_user_id | int или null | ID оригинального отправителя |
forward_from_user_name | str или null | Имя оригинального отправителя |
forward_from_chat_id | int или null | ID чата-источника |
User
| Поле | Тип | Описание |
|---|
id | int | ID пользователя |
is_bot | bool | Является ли ботом |
first_name | str | Имя |
username | str или null | @username |
Chat
| Поле | Тип | Описание |
|---|
id | int | ID чата |
type | str | direct, group, channel |
title | str или null | Название |
username | str или null | @username |
member_count | int или null | Число участников |
CallbackQuery
{
"id": "abc123",
"from": { "id": 5, "is_bot": false, "first_name": "Иван", "username": "ivan" },
"message": { "message_id": 100, "chat": { "id": 123 } },
"data": "yes"
}
MessageReaction
Приходит когда пользователь ставит или убирает реакцию на сообщение бота.
{
"chat_id": 123,
"message_id": 100,
"user_id": 5,
"emoji": "👍",
"action": "added",
"reactions": [
{ "emoji": "👍", "count": 3 },
{ "emoji": "❤️", "count": 1 }
]
}
| Поле | Тип | Описание |
|---|
chat_id | int | ID чата |
message_id | int | ID сообщения |
user_id | int | Кто поставил реакцию |
emoji | str | Эмодзи |
action | str | added, replaced, removed |
reactions | array | Все текущие реакции с количеством |
PinnedMessage
{
"id": 100,
"content": "Важное объявление",
"media_type": null,
"media_url": null,
"user_id": 42,
"pinned_by": 42,
"created_at": "2026-05-31 10:00:00",
"pinned_at": "2026-05-31 10:05:00"
}