peyk.platform_core.contracts.message

Platform-neutral incoming message contracts.

Classes

IncomingMessage([message_id, chat_id, ...])

Normalized message surface shared by the three platform adapters.

IncomingMessageDeleted([chat_id, ...])

A deletion event where the platform exposes no replacement message.

class peyk.platform_core.contracts.message.IncomingMessage(message_id: int | str | None = None, chat_id: int | str | None = None, chat_type: str | None = None, sender_id: int | str | None = None, text: str | None = None, date: int | None = None, is_edited: bool = False, update_kind: str = 'message', reply_to_message_id: int | str | None = None, media: object = None, new_chat_members: list[int | str] | None = None, left_chat_member: int | str | None = None, successful_payment: object = None, raw: object = None)[source]

Bases: object

Normalized message surface shared by the three platform adapters.

IDs deliberately retain their source scalar type because Telegram/Bale use integers while Rubika uses string IDs. Missing source data remains None. raw always points at the exact source model instance.

message_id: int | str | None = None
chat_id: int | str | None = None
chat_type: str | None = None
sender_id: int | str | None = None
text: str | None = None
date: int | None = None
is_edited: bool = False
update_kind: str = 'message'
reply_to_message_id: int | str | None = None
media: object = None
new_chat_members: list[int | str] | None = None
left_chat_member: int | str | None = None
successful_payment: object = None
raw: object = None
class peyk.platform_core.contracts.message.IncomingMessageDeleted(chat_id: int | str | None = None, message_id: int | str | None = None, raw: object = None)[source]

Bases: object

A deletion event where the platform exposes no replacement message.

chat_id: int | str | None = None
message_id: int | str | None = None
raw: object = None