Объекты и типы
Объекты и типы
Формат ответа
{ "ok": true, "result": { } }
{ "ok": false, "error_code": 400, "description": "chat_id required" }
Update
Один элемент массива, который возвращает getUpdates.
| Поле | Тип | Описание |
|---|
update_id | int | Сквозной номер апдейта для этого бота |
message | Message | Новое сообщение |
edited_message | Message | Отредактированное сообщение |
callback_query | CallbackQuery | Нажатие inline-кнопки |
В апдейте присутствует ровно одно из полей message / edited_message / callback_query.
{
"update_id": 12,
"message": {
"message_id": 100,
"from": { "id": 5, "is_bot": false, "first_name": "Иван", "username": "ivan" },
"chat": { "id": 123, "type": "private" },
"date": 1714728000,
"text": "/start",
"media_url": null,
"media_type": null
}
}
Message
| Поле | Тип | Описание |
|---|
message_id | int | ID сообщения |
from | User | Отправитель |
chat | Chat | Чат (в апдейтах приходит {"id":…, "type":"private"}) |
date | int | Unix timestamp |
text | str или null | Текст или подпись к медиа |
media_url | str или null | Ссылка на файл https://api.kodari.ru/msg/media.php?key=… |
media_type | str или null | image, video, audio, file |
media_name | str или null | Исходное имя файла |
reply_markup | object или null | Inline-клавиатура сообщения |
Поле chat.type в апдейтах всегда private — фактический тип чата получайте методом getChat.
User
| Поле | Тип | Описание |
|---|
id | int | ID пользователя в мессенджере |
is_bot | bool | Является ли ботом |
first_name | str | Отображаемое имя |
username | str или null | @username (логин) |
Chat
Возвращается методом getChat.
| Поле | Тип | Описание |
|---|
id | int | ID чата |
type | str | direct, group, channel |
title | str или null | Название группы или канала |
username | str или null | Публичный @username |
description | str или null | Описание |
slow_mode_delay | int | Медленный режим в секундах, 0 — выключен |
who_can_send | str | all или admins |
history_visible | bool | Видят ли новые участники старую историю |
member_count | int | Число участников |
pinned_message | object или null | Последнее закреплённое сообщение |
CallbackQuery
{
"id": "a1b2c3d4e5f6",
"from": { "id": 5, "is_bot": false, "first_name": "Иван", "username": "ivan" },
"message": { "message_id": 100, "chat": { "id": 123 } },
"data": "yes"
}
| Поле | Тип | Описание |
|---|
id | str | ID для answerCallbackQuery |
from | User | Кто нажал кнопку |
message | object | Сообщение с кнопкой: message_id и chat.id |
data | str | callback_data кнопки, до 64 символов |
InlineKeyboardMarkup
{
"inline_keyboard": [
[ { "text": "Да", "callback_data": "yes" }, { "text": "Нет", "callback_data": "no" } ],
[ { "text": "Открыть сайт", "url": "https://kodari.ru" } ]
]
}
| Поле кнопки | Тип | Описание |
|---|
text | str | Надпись |
callback_data | str | Данные, приходят в callback_query.data (max 64 символа) |
url | str | Кнопка-ссылка, callback не отправляется |
ChatMember
Возвращается методами getChatMember и getChatAdministrators.
| Поле | Тип | Описание |
|---|
user_id | int | ID пользователя |
login | str или null | @username |
name | str или null | Имя |
is_bot | int | 1 для бота |
role | str | owner, admin, member |
custom_title | str или null | Звание администратора (до 32 символов) |
permissions | object | Права администратора |
avatar_url | str или null | Аватар |
BotCommand
| Поле | Тип | Описание |
|---|
command | str | Команда без / |
description | str | Описание в меню чата |
Типы в pykodaribot
SDK разбирает те же структуры в dataclass-объекты: Update, Message, User, Chat, CallbackQuery, ChatMember, ChatPermissions, ChatAdministratorRights, ChatInviteLink, ChatAdminLogEntry, InlineKeyboardMarkup, InlineKeyboardButton, BotCommand. Подробные таблицы полей — в разделе Python SDK → Типы объектов.