From 1f5a4f13632d115a37eb2b46bc606ccabcd10c64 Mon Sep 17 00:00:00 2001 From: wulan17 Date: Sat, 6 Apr 2024 15:07:38 +0700 Subject: [PATCH] Pyrofork: Add personal_chat field to class Chat Signed-off-by: wulan17 --- pyrogram/types/user_and_chats/chat.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pyrogram/types/user_and_chats/chat.py b/pyrogram/types/user_and_chats/chat.py index ffe94901..31f8df81 100644 --- a/pyrogram/types/user_and_chats/chat.py +++ b/pyrogram/types/user_and_chats/chat.py @@ -186,6 +186,10 @@ class Chat(Object): birthday (:obj:`~pyrogram.types.Birthday`, *optional*): User Date of birth. + + personal_chat (:obj:`~pyrogram.types.Chat`, *optional*): + For private chats, the personal channel of the user. + Returned only in :meth:`~pyrogram.Client.get_chat`. """ def __init__( @@ -234,7 +238,8 @@ class Chat(Object): reply_color: "types.ChatColor" = None, profile_color: "types.ChatColor" = None, business_info: "types.BusinessInfo" = None, - birthday: "types.Birthday" = None + birthday: "types.Birthday" = None, + personal_chat: "types.Chat" = None ): super().__init__(client) @@ -281,6 +286,7 @@ class Chat(Object): self.profile_color = profile_color self.business_info = business_info self.birthday = birthday + self.personal_chat = personal_chat @property def full_name(self) -> str: @@ -420,6 +426,12 @@ class Chat(Object): parsed_chat.business_info = types.BusinessInfo._parse(client, full_user, users) birthday = getattr(full_user, "birthday", None) parsed_chat.birthday = types.Birthday._parse(birthday) if birthday is not None else None + personal_chat = await client.invoke( + raw.functions.channels.GetChannels( + id=[await client.resolve_peer(utils.get_channel_id(full_user.personal_channel_id))] + ) + ) + parsed_chat.personal_chat = Chat._parse_chat(client, personal_chat.chats[0]) if full_user.pinned_msg_id: parsed_chat.pinned_message = await client.get_messages(