Типы объектов
Типы объектов
Все типы — dataclass'ы из pykodaribot.
User
| Поле | Тип | Описание |
|---|
id | int | ID пользователя |
is_bot | bool | Это бот |
first_name | str | Имя |
username | str или None | @username |
Chat
| Поле | Тип | Описание |
|---|
id | int | ID чата |
type | str | direct, group, channel |
title | str или None | Название |
username | str или None | @username |
description | str или None | Описание |
slow_mode_delay | int | Медленный режим, сек |
who_can_send | str | all или admins |
permissions | ChatPermissions или None | Права участников по умолчанию |
pinned_message | Message или 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 | Ссылка на файл |
media_type | str или None | image, video, audio, file |
media_name | str или None | Имя файла |
reply_to_message_id | int или None | Ответ на сообщение |
forward_from_user_id | int или None | Оригинальный отправитель |
forward_from_user_name | str или None | Его имя |
forward_from_chat_id | int или None | Чат-источник |
Свойство msg.is_forward — True, если заполнено forward_from_user_name.
Методы:
await msg.answer("текст") # в тот же чат
await msg.reply("текст") # с цитированием
await msg.pin() # закрепить
await msg.delete() # удалить
await msg.forward_to(chat_id) # не поддерживается сервером
await msg.react("👍") # не поддерживается сервером
CallbackQuery
| Поле | Тип | Описание |
|---|
id | str | ID для подтверждения |
from_user | User | Кто нажал |
data | str или None | callback_data |
message | Message или None | Сообщение с кнопкой |
await cb.answer()
Update
| Поле | Тип |
|---|
update_id | int |
message | Message или None |
edited_message | Message или None |
callback_query | CallbackQuery или None |
message_reaction | MessageReaction или None (не приходит) |
ChatMember
| Поле | Тип | Описание |
|---|
user | User | Участник |
status | str | creator, administrator, member |
custom_title | str или None | Звание |
permissions | ChatAdministratorRights или None | Права, только у админов |
ChatPermissions
Права участников по умолчанию: send_messages, send_media, embed_links, invite_users, pin_messages, change_info.
from pykodaribot import ChatPermissions
perms = ChatPermissions(send_messages=True, send_media=False)
await bot.set_chat_permissions(chat_id, perms)
ChatAdministratorRights
Права администратора: delete_messages, remove_users, block_users, pin_messages, invite_users, change_info, add_admins, post_messages, edit_messages.
ChatInviteLink
| Поле | Тип | Описание |
|---|
invite_link | str | Полная ссылка |
name | str или None | Название |
expire_date | str или None | Срок действия |
member_limit | int или None | Лимит вступлений |
uses_count | int | Сколько раз использована |
is_revoked | bool | Отозвана ли |
ChatAdminLogEntry
| Поле | Тип | Описание |
|---|
id | int | ID записи |
action | str | Тип действия |
actor_user_id | int | Кто выполнил |
target_user_id | int или None | Над кем |
target_message_id | int или None | Над каким сообщением |
payload | dict или None | Детали, в 0.3.0 не заполняется |
created_at | str или None | Время |
InlineKeyboardMarkup и InlineKeyboardButton
from pykodaribot import InlineKeyboardMarkup, InlineKeyboardButton
kb = InlineKeyboardMarkup(inline_keyboard=[
[InlineKeyboardButton(text="Да", callback_data="yes"),
InlineKeyboardButton(text="Нет", callback_data="no")],
[InlineKeyboardButton(text="Сайт", url="https://kodari.ru")],
])
BotCommand
from pykodaribot import BotCommand
BotCommand(command="start", description="Начать работу")
BotError
| Поле | Тип | Описание |
|---|
error_code | int | HTTP-код ошибки |
description | str | Текст от сервера |
MessageReaction, ReactionCount, PinnedMessage
Типы объявлены в SDK, но сервер соответствующие данные не отдаёт.