🌙

Объекты и типы

Объекты и типы

Формат ответа

{ "ok": true, "result": { } }
{ "ok": false, "error_code": 400, "description": "chat_id required" }

Update

Один элемент массива, который возвращает getUpdates.

ПолеТипОписание
update_idintСквозной номер апдейта для этого бота
messageMessageНовое сообщение
edited_messageMessageОтредактированное сообщение
callback_queryCallbackQueryНажатие 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_idintID сообщения
fromUserОтправитель
chatChatЧат (в апдейтах приходит {"id":…, "type":"private"})
dateintUnix timestamp
textstr или nullТекст или подпись к медиа
media_urlstr или nullСсылка на файл https://api.kodari.ru/msg/media.php?key=…
media_typestr или nullimage, video, audio, file
media_namestr или nullИсходное имя файла
reply_markupobject или nullInline-клавиатура сообщения

Поле chat.type в апдейтах всегда private — фактический тип чата получайте методом getChat.

User

ПолеТипОписание
idintID пользователя в мессенджере
is_botboolЯвляется ли ботом
first_namestrОтображаемое имя
usernamestr или null@username (логин)

Chat

Возвращается методом getChat.

ПолеТипОписание
idintID чата
typestrdirect, group, channel
titlestr или nullНазвание группы или канала
usernamestr или nullПубличный @username
descriptionstr или nullОписание
slow_mode_delayintМедленный режим в секундах, 0 — выключен
who_can_sendstrall или admins
history_visibleboolВидят ли новые участники старую историю
member_countintЧисло участников
pinned_messageobject или nullПоследнее закреплённое сообщение

CallbackQuery

{
  "id": "a1b2c3d4e5f6",
  "from": { "id": 5, "is_bot": false, "first_name": "Иван", "username": "ivan" },
  "message": { "message_id": 100, "chat": { "id": 123 } },
  "data": "yes"
}
ПолеТипОписание
idstrID для answerCallbackQuery
fromUserКто нажал кнопку
messageobjectСообщение с кнопкой: message_id и chat.id
datastrcallback_data кнопки, до 64 символов

InlineKeyboardMarkup

{
  "inline_keyboard": [
    [ { "text": "Да", "callback_data": "yes" }, { "text": "Нет", "callback_data": "no" } ],
    [ { "text": "Открыть сайт", "url": "https://kodari.ru" } ]
  ]
}
Поле кнопкиТипОписание
textstrНадпись
callback_datastrДанные, приходят в callback_query.data (max 64 символа)
urlstrКнопка-ссылка, callback не отправляется

ChatMember

Возвращается методами getChatMember и getChatAdministrators.

ПолеТипОписание
user_idintID пользователя
loginstr или null@username
namestr или nullИмя
is_botint1 для бота
rolestrowner, admin, member
custom_titlestr или nullЗвание администратора (до 32 символов)
permissionsobjectПрава администратора
avatar_urlstr или nullАватар

BotCommand

ПолеТипОписание
commandstrКоманда без /
descriptionstrОписание в меню чата

Типы в pykodaribot

SDK разбирает те же структуры в dataclass-объекты: Update, Message, User, Chat, CallbackQuery, ChatMember, ChatPermissions, ChatAdministratorRights, ChatInviteLink, ChatAdminLogEntry, InlineKeyboardMarkup, InlineKeyboardButton, BotCommand. Подробные таблицы полей — в разделе Python SDK → Типы объектов.

61 просмотр