peyk.platform_core.contracts.chat_member¶
Normalized membership-transition contracts.
Classes
|
Simple bot-added/bot-removed event. |
|
Rich Telegram-style member status transition. |
- class peyk.platform_core.contracts.chat_member.IncomingChatMemberStatusUpdate(chat_id: int | str | None = None, actor_id: int | str | None = None, target_user_id: int | str | None = None, old_status: str | None = None, new_status: str | None = None, old_is_member: bool | None = None, new_is_member: bool | None = None, date: int | None = None, raw: object = None)[source]¶
Bases:
objectRich Telegram-style member status transition.
actor_idis optional by design; an adapter must never invent it.- chat_id: int | str | None = None¶
- actor_id: int | str | None = None¶
- target_user_id: int | str | None = None¶
- old_status: str | None = None¶
- new_status: str | None = None¶
- old_is_member: bool | None = None¶
- new_is_member: bool | None = None¶
- date: int | None = None¶
- raw: object = None¶
- class peyk.platform_core.contracts.chat_member.IncomingBotMembershipChange(chat_id: int | str | None = None, added: bool = False, actor_id: int | str | None = None, raw: object = None)[source]¶
Bases:
objectSimple bot-added/bot-removed event.
Rubika provides this explicitly through EventData; Telegram/Bale can derive it from new/left chat-member message fields when the bot itself is the member mentioned there.
actor_idremains optional.- chat_id: int | str | None = None¶
- added: bool = False¶
- actor_id: int | str | None = None¶
- raw: object = None¶