From 421324d9b3c178bf6314a187d565389cad9ab6fc Mon Sep 17 00:00:00 2001 From: KurimuzonAkuma Date: Sat, 15 Feb 2025 18:46:50 +0300 Subject: [PATCH] Attempt to fix parsing saved gifts --- pyrogram/types/messages_and_media/gift.py | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pyrogram/types/messages_and_media/gift.py b/pyrogram/types/messages_and_media/gift.py index bade02efd4..4985a035fe 100644 --- a/pyrogram/types/messages_and_media/gift.py +++ b/pyrogram/types/messages_and_media/gift.py @@ -310,20 +310,20 @@ async def _parse_saved( elif isinstance(saved_gift.gift, raw.types.StarGiftUnique): parsed_gift = await Gift._parse_unique(client, saved_gift.gift, users, chats) - parsed_gift.date = utils.timestamp_to_datetime(saved_gift.date) - parsed_gift.is_name_hidden = getattr(saved_gift, "name_hidden", None) - parsed_gift.is_saved = not saved_gift.unsaved if getattr(saved_gift, "unsaved", None) else None - parsed_gift.is_refunded = getattr(saved_gift, "refunded", None) - parsed_gift.can_upgrade = getattr(saved_gift, "can_upgrade", None) - parsed_gift.from_user = types.User._parse(client, users.get(utils.get_raw_peer_id(saved_gift.from_id), None)) - parsed_gift.caption = caption - parsed_gift.caption_entities = caption_entities - parsed_gift.message_id = getattr(saved_gift, "msg_id", None) - parsed_gift.saved_id = getattr(saved_gift, "saved_id", None) - parsed_gift.convert_price = getattr(saved_gift, "convert_stars", None) - parsed_gift.upgrade_price = getattr(saved_gift, "upgrade_stars", None) - parsed_gift.transfer_price = getattr(saved_gift, "transfer_stars", None) - parsed_gift.can_export_at = utils.timestamp_to_datetime(getattr(saved_gift, "can_export_at", None)) + parsed_gift.date = parsed_gift.date or utils.timestamp_to_datetime(saved_gift.date) + parsed_gift.is_name_hidden = parsed_gift.is_name_hidden or getattr(saved_gift, "name_hidden", None) + parsed_gift.is_saved = parsed_gift.is_saved or not saved_gift.unsaved if getattr(saved_gift, "unsaved", None) else None + parsed_gift.is_refunded = parsed_gift.is_refunded or getattr(saved_gift, "refunded", None) + parsed_gift.can_upgrade = parsed_gift.can_upgrade or getattr(saved_gift, "can_upgrade", None) + parsed_gift.from_user = parsed_gift.from_user or types.User._parse(client, users.get(utils.get_raw_peer_id(saved_gift.from_id), None)) + parsed_gift.caption = parsed_gift.caption or caption + parsed_gift.caption_entities = parsed_gift.caption_entities or caption_entities + parsed_gift.message_id = parsed_gift.message_id or getattr(saved_gift, "msg_id", None) + parsed_gift.saved_id = parsed_gift.saved_id or getattr(saved_gift, "saved_id", None) + parsed_gift.convert_price = parsed_gift.convert_price or getattr(saved_gift, "convert_stars", None) + parsed_gift.upgrade_price = parsed_gift.upgrade_price or getattr(saved_gift, "upgrade_stars", None) + parsed_gift.transfer_price = parsed_gift.transfer_price or getattr(saved_gift, "transfer_stars", None) + parsed_gift.can_export_at = parsed_gift.can_export_at or utils.timestamp_to_datetime(getattr(saved_gift, "can_export_at", None)) return parsed_gift