peyk.platforms.bale.types¶

Bale API types, one file per type.

class peyk.platforms.bale.types.User(id: int, is_bot: bool, first_name: str, last_name: str | None = None, username: str | None = None, language_code: str | None = None)[source]¶

Bases: object

Represent the Bale Bot API User object.

Preserves the existing dataclass fields and parsing behavior.

classmethod from_dict(data: dict | None) User | None[source]¶

Parse raw Bale data into User.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[User]

Raises:

KeyError – If a required raw field is missing.

language_code: str | None = None¶
last_name: str | None = None¶
username: str | None = None¶
id: int¶
is_bot: bool¶
first_name: str¶
class peyk.platforms.bale.types.ChatPhoto(small_file_id: str, small_file_unique_id: str, big_file_id: str, big_file_unique_id: str)[source]¶

Bases: object

Represent the Bale Bot API ChatPhoto object.

Preserves the existing dataclass fields and parsing behavior.

classmethod from_dict(data: dict | None) ChatPhoto | None[source]¶

Parse raw Bale data into ChatPhoto.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[ChatPhoto]

Raises:

KeyError – If a required raw field is missing.

small_file_id: str¶
small_file_unique_id: str¶
big_file_id: str¶
big_file_unique_id: str¶
class peyk.platforms.bale.types.Chat(id: int, type: str, title: str | None = None, username: str | None = None, first_name: str | None = None, last_name: str | None = None, photo: ChatPhoto | None = None, bio: str | None = None, description: str | None = None, invite_link: str | None = None, linked_chat_id: str | None = None)[source]¶

Bases: object

Represent the Bale Bot API Chat object.

Preserves the existing dataclass fields and parsing behavior.

bio: str | None = None¶
description: str | None = None¶
first_name: str | None = None¶
classmethod from_dict(data: dict | None) Chat | None[source]¶

Parse raw Bale data into Chat.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Chat]

Raises:

KeyError – If a required raw field is missing.

last_name: str | None = None¶
linked_chat_id: str | None = None¶
photo: ChatPhoto | None = None¶
title: str | None = None¶
username: str | None = None¶
id: int¶
type: str¶
class peyk.platforms.bale.types.PhotoSize(file_id: str, file_unique_id: str, width: int, height: int, file_size: int | None = None)[source]¶

Bases: object

Represent the Bale Bot API PhotoSize object.

Preserves the existing dataclass fields and parsing behavior.

file_size: int | None = None¶
classmethod from_dict(data: dict | None) PhotoSize | None[source]¶

Parse raw Bale data into PhotoSize.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[PhotoSize]

Raises:

KeyError – If a required raw field is missing.

classmethod list_from_result(data: List[dict] | None) List[PhotoSize] | None[source]¶

Parse raw Bale data into PhotoSize.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[PhotoSize]

Raises:

KeyError – If a required raw field is missing.

file_id: str¶
file_unique_id: str¶
width: int¶
height: int¶
class peyk.platforms.bale.types.Animation(file_id: str, file_unique_id: str, width: int, height: int, duration: int, thumbnail: PhotoSize | None = None, file_name: str | None = None, mime_type: str | None = None, file_size: int | None = None)[source]¶

Bases: object

Represent the Bale Bot API Animation object.

Preserves the existing dataclass fields and parsing behavior.

file_name: str | None = None¶
file_size: int | None = None¶
classmethod from_dict(data: dict | None) Animation | None[source]¶

Parse raw Bale data into Animation.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Animation]

Raises:

KeyError – If a required raw field is missing.

mime_type: str | None = None¶
thumbnail: PhotoSize | None = None¶
file_id: str¶
file_unique_id: str¶
width: int¶
height: int¶
duration: int¶
class peyk.platforms.bale.types.Audio(file_id: str, file_unique_id: str, duration: int, title: str | None = None, file_name: str | None = None, mime_type: str | None = None, file_size: int | None = None)[source]¶

Bases: object

Represent the Bale Bot API Audio object.

Preserves the existing dataclass fields and parsing behavior.

file_name: str | None = None¶
file_size: int | None = None¶
classmethod from_dict(data: dict | None) Audio | None[source]¶

Parse raw Bale data into Audio.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Audio]

Raises:

KeyError – If a required raw field is missing.

mime_type: str | None = None¶
title: str | None = None¶
file_id: str¶
file_unique_id: str¶
duration: int¶
class peyk.platforms.bale.types.Document(file_id: str, file_unique_id: str, thumbnail: PhotoSize | None = None, file_name: str | None = None, mime_type: str | None = None, file_size: int | None = None)[source]¶

Bases: object

Represent the Bale Bot API Document object.

Preserves the existing dataclass fields and parsing behavior.

file_name: str | None = None¶
file_size: int | None = None¶
classmethod from_dict(data: dict | None) Document | None[source]¶

Parse raw Bale data into Document.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Document]

Raises:

KeyError – If a required raw field is missing.

mime_type: str | None = None¶
thumbnail: PhotoSize | None = None¶
file_id: str¶
file_unique_id: str¶
class peyk.platforms.bale.types.Video(file_id: str, file_unique_id: str, width: int, height: int, duration: int, file_name: str | None = None, mime_type: str | None = None, file_size: int | None = None)[source]¶

Bases: object

Represent the Bale Bot API Video object.

Preserves the existing dataclass fields and parsing behavior.

file_name: str | None = None¶
file_size: int | None = None¶
classmethod from_dict(data: dict | None) Video | None[source]¶

Parse raw Bale data into Video.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Video]

Raises:

KeyError – If a required raw field is missing.

mime_type: str | None = None¶
file_id: str¶
file_unique_id: str¶
width: int¶
height: int¶
duration: int¶
class peyk.platforms.bale.types.Voice(file_id: str, file_unique_id: str)[source]¶

Bases: object

A voice message.

Per docs.bale.ai, the Voice type only carries file_id and file_unique_id – unlike Telegram’s richer voice type, Bale does not document duration, mime_type, or file_size here.

classmethod from_dict(data: dict | None) Voice | None[source]¶

Parse raw Bale data into Voice.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Voice]

Raises:

KeyError – If a required raw field is missing.

file_id: str¶
file_unique_id: str¶
class peyk.platforms.bale.types.Sticker(file_id: str, file_unique_id: str, type: str, width: int, height: int, file_size: int | None = None)[source]¶

Bases: object

Represent the Bale Bot API Sticker object.

Preserves the existing dataclass fields and parsing behavior.

file_size: int | None = None¶
classmethod from_dict(data: dict | None) Sticker | None[source]¶

Parse raw Bale data into Sticker.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Sticker]

Raises:

KeyError – If a required raw field is missing.

file_id: str¶
file_unique_id: str¶
type: str¶
width: int¶
height: int¶
class peyk.platforms.bale.types.StickerSet(name: str, title: str, stickers: List[Sticker], thumbnail: PhotoSize | None = None)[source]¶

Bases: object

Represent the Bale Bot API StickerSet object.

Preserves the existing dataclass fields and parsing behavior.

classmethod from_dict(data: dict | None) StickerSet | None[source]¶

Parse raw Bale data into StickerSet.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[StickerSet]

Raises:

KeyError – If a required raw field is missing.

thumbnail: PhotoSize | None = None¶
name: str¶
title: str¶
stickers: List[Sticker]¶
class peyk.platforms.bale.types.Contact(phone_number: str, first_name: str, last_name: str | None = None, user_id: int | None = None)[source]¶

Bases: object

Represent the Bale Bot API Contact object.

Preserves the existing dataclass fields and parsing behavior.

classmethod from_dict(data: dict | None) Contact | None[source]¶

Parse raw Bale data into Contact.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Contact]

Raises:

KeyError – If a required raw field is missing.

last_name: str | None = None¶
user_id: int | None = None¶
phone_number: str¶
first_name: str¶
class peyk.platforms.bale.types.Location(longitude: float, latitude: float)[source]¶

Bases: object

Represent the Bale Bot API Location object.

Preserves the existing dataclass fields and parsing behavior.

classmethod from_dict(data: dict | None) Location | None[source]¶

Parse raw Bale data into Location.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Location]

Raises:

KeyError – If a required raw field is missing.

longitude: float¶
latitude: float¶
class peyk.platforms.bale.types.File(file_id: str, file_unique_id: str, file_size: int | None = None, file_path: str | None = None)[source]¶

Bases: object

Represent the Bale Bot API File object.

Preserves the existing dataclass fields and parsing behavior.

file_path: str | None = None¶
file_size: int | None = None¶
classmethod from_dict(data: dict | None) File | None[source]¶

Parse raw Bale data into File.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[File]

Raises:

KeyError – If a required raw field is missing.

file_id: str¶
file_unique_id: str¶
class peyk.platforms.bale.types.MessageId(message_id: int)[source]¶

Bases: object

Represent the Bale Bot API MessageId object.

Preserves the existing dataclass fields and parsing behavior.

classmethod from_dict(data: dict | None) MessageId | None[source]¶

Parse raw Bale data into MessageId.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[MessageId]

Raises:

KeyError – If a required raw field is missing.

message_id: int¶
class peyk.platforms.bale.types.WebhookInfo(url: str)[source]¶

Bases: object

Current webhook status.

Per docs.bale.ai, WebhookInfo only carries url – unlike Telegram’s richer type, Bale does not document has_custom_certificate or pending_update_count.

classmethod from_dict(data: dict | None) WebhookInfo | None[source]¶

Parse raw Bale data into WebhookInfo.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[WebhookInfo]

Raises:

KeyError – If a required raw field is missing.

url: str¶
class peyk.platforms.bale.types.MessageEntity(type: str, offset: int, length: int)[source]¶

Bases: object

A special entity in a text message (mention, bot_command, etc.).

classmethod from_dict(data: dict | None) MessageEntity | None[source]¶

Parse raw Bale data into MessageEntity.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[MessageEntity]

Raises:

KeyError – If a required raw field is missing.

classmethod list_from_result(data: List[dict] | None) List[MessageEntity] | None[source]¶

Parse raw Bale data into MessageEntity.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[MessageEntity]

Raises:

KeyError – If a required raw field is missing.

type: str¶
offset: int¶
length: int¶
class peyk.platforms.bale.types.LabeledPrice(label: str, amount: int)[source]¶

Bases: object

A portion of the price for goods or services.

classmethod from_dict(data: dict | None) LabeledPrice | None[source]¶

Parse raw Bale data into LabeledPrice.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[LabeledPrice]

Raises:

KeyError – If a required raw field is missing.

classmethod list_from_result(data: List[dict] | None) List[LabeledPrice] | None[source]¶

Parse raw Bale data into LabeledPrice.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[LabeledPrice]

Raises:

KeyError – If a required raw field is missing.

label: str¶
amount: int¶
class peyk.platforms.bale.types.ResponseParameters(retry_after: int | None = None)[source]¶

Bases: object

Extra information about an unsuccessful API request.

classmethod from_dict(data: dict | None) ResponseParameters | None[source]¶

Parse raw Bale data into ResponseParameters.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[ResponseParameters]

Raises:

KeyError – If a required raw field is missing.

retry_after: int | None = None¶
class peyk.platforms.bale.types.Invoice(title: str, description: str, total_amount: int)[source]¶

Bases: object

An invoice or crowdfunding request message.

classmethod from_dict(data: dict | None) Invoice | None[source]¶

Parse raw Bale data into Invoice.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Invoice]

Raises:

KeyError – If a required raw field is missing.

title: str¶
description: str¶
total_amount: int¶
class peyk.platforms.bale.types.SuccessfulPayment(currency: str, total_amount: int, invoice_payload: str, telegram_payment_charge_id: str, provider_payment_charge_id: str)[source]¶

Bases: object

A confirmed successful payment.

classmethod from_dict(data: dict | None) SuccessfulPayment | None[source]¶

Parse raw Bale data into SuccessfulPayment.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[SuccessfulPayment]

Raises:

KeyError – If a required raw field is missing.

currency: str¶
total_amount: int¶
invoice_payload: str¶
telegram_payment_charge_id: str¶
provider_payment_charge_id: str¶
class peyk.platforms.bale.types.PreCheckoutQuery(id: str, from_: User | None = None, currency: str | None = None, total_amount: int | None = None, invoice_payload: str | None = None)[source]¶

Bases: object

An incoming pre-checkout query (sent before payment finalization).

currency: str | None = None¶
from_: User | None = None¶
classmethod from_dict(data: dict | None) PreCheckoutQuery | None[source]¶

Parse raw Bale data into PreCheckoutQuery.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[PreCheckoutQuery]

Raises:

KeyError – If a required raw field is missing.

invoice_payload: str | None = None¶
total_amount: int | None = None¶
id: str¶
class peyk.platforms.bale.types.Transaction(id: str, status: str, userID: int, amount: int, createdAt: int)[source]¶

Bases: object

A wallet transaction (from inquireTransaction).

classmethod from_dict(data: dict | None) Transaction | None[source]¶

Parse raw Bale data into Transaction.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Transaction]

Raises:

KeyError – If a required raw field is missing.

id: str¶
status: str¶
userID: int¶
amount: int¶
createdAt: int¶
class peyk.platforms.bale.types.WebAppData(data: str)[source]¶

Bases: object

Data sent from a Mini App to the bot.

classmethod from_dict(data: dict | None) WebAppData | None[source]¶

Parse raw Bale data into WebAppData.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[WebAppData]

Raises:

KeyError – If a required raw field is missing.

data: str¶
class peyk.platforms.bale.types.WebAppInfo(url: str)[source]¶

Bases: object

Information about a Mini App.

classmethod from_dict(data: dict | None) WebAppInfo | None[source]¶

Parse raw Bale data into WebAppInfo.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[WebAppInfo]

Raises:

KeyError – If a required raw field is missing.

url: str¶
class peyk.platforms.bale.types.CopyTextButton(text: str)[source]¶

Bases: object

An inline button that copies the specified text.

classmethod from_dict(data: dict | None) CopyTextButton | None[source]¶

Parse raw Bale data into CopyTextButton.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[CopyTextButton]

Raises:

KeyError – If a required raw field is missing.

text: str¶
class peyk.platforms.bale.types.ReplyKeyboardMarkup(keyboard: List[List[KeyboardButton]])[source]¶

Bases: object

A custom keyboard with reply options.

classmethod from_dict(data: dict | None) ReplyKeyboardMarkup | None[source]¶

Parse raw Bale data into ReplyKeyboardMarkup.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[ReplyKeyboardMarkup]

Raises:

KeyError – If a required raw field is missing.

keyboard: List[List[KeyboardButton]]¶
class peyk.platforms.bale.types.KeyboardButton(text: str, request_contact: bool | None = None, request_location: bool | None = None, web_app: WebAppInfo | None = None)[source]¶

Bases: object

One button of the reply keyboard.

classmethod from_dict(data: dict | None) KeyboardButton | None[source]¶

Parse raw Bale data into KeyboardButton.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[KeyboardButton]

Raises:

KeyError – If a required raw field is missing.

request_contact: bool | None = None¶
request_location: bool | None = None¶
web_app: WebAppInfo | None = None¶
text: str¶
class peyk.platforms.bale.types.InlineKeyboardMarkup(inline_keyboard: List[List[InlineKeyboardButton]])[source]¶

Bases: object

An inline keyboard that appears right next to the message it belongs to.

classmethod from_dict(data: dict | None) InlineKeyboardMarkup | None[source]¶

Parse raw Bale data into InlineKeyboardMarkup.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[InlineKeyboardMarkup]

Raises:

KeyError – If a required raw field is missing.

inline_keyboard: List[List[InlineKeyboardButton]]¶
class peyk.platforms.bale.types.InlineKeyboardButton(text: str, url: str | None = None, callback_data: str | None = None, web_app: WebAppInfo | None = None, copy_text: CopyTextButton | None = None)[source]¶

Bases: object

One button of an inline keyboard.

callback_data: str | None = None¶
copy_text: CopyTextButton | None = None¶
classmethod from_dict(data: dict | None) InlineKeyboardButton | None[source]¶

Parse raw Bale data into InlineKeyboardButton.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[InlineKeyboardButton]

Raises:

KeyError – If a required raw field is missing.

url: str | None = None¶
web_app: WebAppInfo | None = None¶
text: str¶
class peyk.platforms.bale.types.ReplyKeyboardRemove(remove_keyboard: bool = True)[source]¶

Bases: object

A request to remove the custom keyboard.

classmethod from_dict(data: dict | None) ReplyKeyboardRemove | None[source]¶

Parse raw Bale data into ReplyKeyboardRemove.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[ReplyKeyboardRemove]

Raises:

KeyError – If a required raw field is missing.

remove_keyboard: bool = True¶
class peyk.platforms.bale.types.ChatMember(status: str, user: User | None = None)[source]¶

Bases: object

Base for chat-member subtypes.

Bale documents four subtypes: ChatMemberOwner, ChatMemberAdministrator, ChatMemberMember, ChatMemberRestricted. Dispatch on the status field.

classmethod from_dict(data: dict | None) ChatMember | None[source]¶

Parse raw Bale data into ChatMember.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[ChatMember]

Raises:

KeyError – If a required raw field is missing.

user: User | None = None¶
status: str¶
class peyk.platforms.bale.types.ChatMemberOwner(status: str, user: User | None = None)[source]¶

Bases: ChatMember

A chat member who owns the chat and has all administrator privileges.

classmethod from_dict(data: dict | None) ChatMemberOwner | None[source]¶

Parse raw Bale data into ChatMemberOwner.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[ChatMemberOwner]

Raises:

KeyError – If a required raw field is missing.

class peyk.platforms.bale.types.ChatMemberAdministrator(status: str, user: User | None = None, can_delete_messages: bool | None = None, can_manage_video_chats: bool | None = None, can_restrict_members: bool | None = None, can_promote_members: bool | None = None, can_change_info: bool | None = None, can_invite_users: bool | None = None, can_post_stories: bool | None = None, can_post_messages: bool | None = None, can_edit_messages: bool | None = None, can_pin_messages: bool | None = None)[source]¶

Bases: ChatMember

A chat member who has some additional administrator privileges.

can_change_info: bool | None = None¶
can_delete_messages: bool | None = None¶
can_edit_messages: bool | None = None¶
can_invite_users: bool | None = None¶
can_manage_video_chats: bool | None = None¶
can_pin_messages: bool | None = None¶
can_post_messages: bool | None = None¶
can_post_stories: bool | None = None¶
can_promote_members: bool | None = None¶
can_restrict_members: bool | None = None¶
classmethod from_dict(data: dict | None) ChatMemberAdministrator | None[source]¶

Parse raw Bale data into ChatMemberAdministrator.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[ChatMemberAdministrator]

Raises:

KeyError – If a required raw field is missing.

class peyk.platforms.bale.types.ChatMemberMember(status: str, user: User | None = None)[source]¶

Bases: ChatMember

A chat member who has no additional privileges or restrictions.

classmethod from_dict(data: dict | None) ChatMemberMember | None[source]¶

Parse raw Bale data into ChatMemberMember.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[ChatMemberMember]

Raises:

KeyError – If a required raw field is missing.

class peyk.platforms.bale.types.ChatMemberRestricted(status: str, user: User | None = None, is_member: bool | None = None, can_send_messages: bool | None = None, can_send_audios: bool | None = None, can_send_documents: bool | None = None, can_send_photos: bool | None = None, can_send_videos: bool | None = None, can_change_info: bool | None = None, can_invite_users: bool | None = None, can_pin_messages: bool | None = None)[source]¶

Bases: ChatMember

A chat member who is under certain restrictions in the chat.

can_change_info: bool | None = None¶
can_invite_users: bool | None = None¶
can_pin_messages: bool | None = None¶
can_send_audios: bool | None = None¶
can_send_documents: bool | None = None¶
can_send_messages: bool | None = None¶
can_send_photos: bool | None = None¶
can_send_videos: bool | None = None¶
classmethod from_dict(data: dict | None) ChatMemberRestricted | None[source]¶

Parse raw Bale data into ChatMemberRestricted.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[ChatMemberRestricted]

Raises:

KeyError – If a required raw field is missing.

is_member: bool | None = None¶
class peyk.platforms.bale.types.Message(message_id: int, from_: User | None = None, date: int | None = None, chat: Chat | None = None, sender_chat: Chat | None = None, forward_from: User | None = None, forward_from_chat: Chat | None = None, forward_from_message_id: int | None = None, forward_date: int | None = None, reply_to_message: Message | None = None, edit_date: int | None = None, media_group_id: str | None = None, text: str | None = None, entities: List[MessageEntity] | None = None, animation: Animation | None = None, audio: Audio | None = None, document: Document | None = None, photo: List[PhotoSize] | None = None, sticker: Sticker | None = None, video: Video | None = None, voice: Voice | None = None, caption: str | None = None, caption_entities: List[MessageEntity] | None = None, contact: Contact | None = None, location: Location | None = None, new_chat_members: List[User] | None = None, left_chat_member: User | None = None, invoice: Invoice | None = None, successful_payment: SuccessfulPayment | None = None, web_app_data: WebAppData | None = None, reply_markup: object | None = None)[source]¶

Bases: object

Represent the Bale Bot API Message object.

Preserves the existing dataclass fields and parsing behavior.

animation: Animation | None = None¶
audio: Audio | None = None¶
caption: str | None = None¶
caption_entities: List[MessageEntity] | None = None¶
chat: Chat | None = None¶
contact: Contact | None = None¶
date: int | None = None¶
document: Document | None = None¶
edit_date: int | None = None¶
entities: List[MessageEntity] | None = None¶
forward_date: int | None = None¶
forward_from: User | None = None¶
forward_from_chat: Chat | None = None¶
forward_from_message_id: int | None = None¶
from_: User | None = None¶
classmethod from_dict(data: dict | None) Message | None[source]¶

Parse raw Bale data into Message.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Message]

Raises:

KeyError – If a required raw field is missing.

invoice: Invoice | None = None¶
left_chat_member: User | None = None¶
classmethod list_from_result(data: List[dict] | None) List[Message][source]¶

Performs the list from result operation for the Bale client.

Parameters:

data – Value used by this operation.

Returns:

Result produced by the Bale operation.

location: Location | None = None¶
media_group_id: str | None = None¶
new_chat_members: List[User] | None = None¶
photo: List[PhotoSize] | None = None¶
reply_markup: object | None = None¶
reply_to_message: Message | None = None¶
sender_chat: Chat | None = None¶
sticker: Sticker | None = None¶
successful_payment: SuccessfulPayment | None = None¶
text: str | None = None¶
video: Video | None = None¶
voice: Voice | None = None¶
web_app_data: WebAppData | None = None¶
message_id: int¶
class peyk.platforms.bale.types.CallbackQuery(id: str, from_: User | None = None, message: Message | None = None, data: str | None = None)[source]¶

Bases: object

Represent the Bale Bot API CallbackQuery object.

Preserves the existing dataclass fields and parsing behavior.

data: str | None = None¶
from_: User | None = None¶
classmethod from_dict(data: dict | None) CallbackQuery | None[source]¶

Parse raw Bale data into CallbackQuery.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[CallbackQuery]

Raises:

KeyError – If a required raw field is missing.

message: Message | None = None¶
id: str¶
class peyk.platforms.bale.types.Update(update_id: int, message: Message | None = None, edited_message: Message | None = None, callback_query: CallbackQuery | None = None, pre_checkout_query: PreCheckoutQuery | None = None)[source]¶

Bases: object

Represent the Bale Bot API Update object.

Preserves the existing dataclass fields and parsing behavior.

callback_query: CallbackQuery | None = None¶
edited_message: Message | None = None¶
classmethod from_dict(data: dict) Update[source]¶

Parse raw Bale data into Update.

Parameters:

data (Optional[dict]) – Raw API object or None.

Returns:

Parsed object or None.

Return type:

Optional[Update]

Raises:

KeyError – If a required raw field is missing.

classmethod list_from_result(data: List[dict] | None) List[Update][source]¶

Performs the list from result operation for the Bale client.

Parameters:

data – Value used by this operation.

Returns:

Result produced by the Bale operation.

message: Message | None = None¶
pre_checkout_query: PreCheckoutQuery | None = None¶
update_id: int¶
class peyk.platforms.bale.types.InputMediaPhoto(media: str | bytes | FilePayload, caption: str | None = None)[source]¶

Bases: object

Represent an outgoing Bale InputMediaPhoto item.

caption: str | None = None¶
media: str | bytes | FilePayload¶
class peyk.platforms.bale.types.InputMediaVideo(media: str | bytes | FilePayload, caption: str | None = None, width: int | None = None, height: int | None = None, duration: int | None = None)[source]¶

Bases: object

Represent an outgoing Bale InputMediaVideo item.

caption: str | None = None¶
duration: int | None = None¶
height: int | None = None¶
width: int | None = None¶
media: str | bytes | FilePayload¶
class peyk.platforms.bale.types.InputMediaAnimation(media: str | bytes | FilePayload, caption: str | None = None, width: int | None = None, height: int | None = None, duration: int | None = None)[source]¶

Bases: object

Represent an outgoing Bale InputMediaAnimation item.

caption: str | None = None¶
duration: int | None = None¶
height: int | None = None¶
width: int | None = None¶
media: str | bytes | FilePayload¶
class peyk.platforms.bale.types.InputMediaAudio(media: str | bytes | FilePayload, caption: str | None = None, duration: int | None = None, title: str | None = None)[source]¶

Bases: object

Represent an outgoing Bale InputMediaAudio item.

caption: str | None = None¶
duration: int | None = None¶
title: str | None = None¶
media: str | bytes | FilePayload¶
class peyk.platforms.bale.types.InputMediaDocument(media: str | bytes | FilePayload, caption: str | None = None)[source]¶

Bases: object

Represent an outgoing Bale InputMediaDocument item.

caption: str | None = None¶
media: str | bytes | FilePayload¶

Modules