Типы объектов
Типы объектов
User
Информация о пользователе или боте.
| Поле | Тип | Описание |
|---|
id | int | Уникальный ID |
is_bot | bool | True если это бот |
first_name | str | Имя |
username | str или None | @username |
Chat
| Поле | Тип | Описание |
|---|
id | int | ID чата |
type | str | direct, group, channel |
title | str или None | Название |
member_count | int или None | Число участников |
Message
| Поле | Тип | Описание |
|---|
message_id | int | ID сообщения |
chat | Chat | Чат |
date | int | Unix timestamp |
from_user | User или None | Отправитель |
text | str или None | Текст |
media_url | str или None | URL медиафайла |
media_type | str или None | Тип: image, video, audio, file |
media_name | str или None | Исходное имя файла |
reply_to_message_id | int или None | ID цитируемого сообщения |
forward_from_user_id | int или None | ID оригинального отправителя (пересылка) |
forward_from_user_name | str или None | Имя оригинального отправителя |
forward_from_chat_id | int или None | ID чата-источника |
Свойство:
msg.is_forward # True если сообщение пересланное
Методы:
await msg.answer("текст") # отправить в тот же чат
await msg.reply("текст") # ответить с цитированием
await msg.forward_to(chat_id) # переслать в другой чат
await msg.react("👍") # поставить реакцию
await msg.pin() # закрепить
await msg.delete() # удалить
MessageReaction
Событие реакции на сообщение.
| Поле | Тип | Описание |
|---|
chat_id | int | ID чата |
message_id | int | ID сообщения |
user_id | int | Кто поставил реакцию |
emoji | str | Эмодзи |
action | str | "added", "replaced", "removed" |
reactions | list[ReactionCount] | Все текущие реакции |
ReactionCount
| Поле | Тип | Описание |
|---|
emoji | str | Эмодзи |
count | int | Количество |
PinnedMessage
| Поле | Тип | Описание |
|---|
id | int | ID сообщения |
content | str | Текст |
media_type | str или None | Тип медиа |
media_url | str или None | URL медиа |
user_id | int | Автор сообщения |
pinned_by | int | Кто закрепил |
created_at | str | Время создания |
pinned_at | str | Время закрепления |
CallbackQuery
| Поле | Тип | Описание |
|---|
id | str | ID callback |
from_user | User | Кто нажал кнопку |
data | str или None | callback_data кнопки |
message | Message или None | Сообщение с кнопкой |
Методы:
await cb.answer() # подтвердить получение callback
Update
| Поле | Тип | Описание |
|---|
update_id | int | ID апдейта |
message | Message или None | Новое сообщение |
edited_message | Message или None | Изменённое сообщение |
callback_query | CallbackQuery или None | Нажатие кнопки |
message_reaction | MessageReaction или None | Событие реакции |
InlineKeyboardMarkup
from pykodaribot import InlineKeyboardMarkup, InlineKeyboardButton
kb = InlineKeyboardMarkup(inline_keyboard=[
[
InlineKeyboardButton(text="Кнопка 1", callback_data="btn1"),
InlineKeyboardButton(text="Кнопка 2", callback_data="btn2"),
],
[
InlineKeyboardButton(text="Сайт", url="https://kodari.ru"),
],
])
InlineKeyboardButton
| Поле | Тип | Описание |
|---|
text | str | Текст кнопки |
callback_data | str или None | Данные (max 64 символа) |
url | str или None | URL для кнопки-ссылки |
BotCommand
from pykodaribot import BotCommand
cmd = BotCommand(command="start", description="Начать работу")