Skip to content

Commit a240b7b

Browse files
committed
Add upgrade_star_count and is_for_birthday in Gift
1 parent f4fb1f4 commit a240b7b

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

docs/source/releases/changes-in-this-fork.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Changes in this Fork
2525
| Scheme layer used: 196 |
2626
+------------------------+
2727

28+
- Added the parameters ``upgrade_star_count`` and ``is_for_birthday`` in :obj:`~pyrogram.types.Gift`.
2829
- Added the :meth:`~pyrogram.Client.on_bot_purchased_paid_media` and :meth:`~pyrogram.Client.on_bot_business_connection`.
2930
- Added the parameters ``can_be_upgraded``, ``was_refunded``, ``prepaid_upgrade_star_count``, ``can_be_transferred``, ``transfer_star_count``, ``export_date`` in :obj:`~pyrogram.types.UserGift`.
3031
- Renamed the parameter ``only_in_channels`` to ``chat_type_filter`` in the :meth:`~pyrogram.Client.search_global_count` and :meth:`~pyrogram.Client.search_global`.

pyrogram/types/messages_and_media/gift.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ class Gift(Object):
4646
default_sell_star_count (``int``):
4747
Number of Telegram Stars that can be claimed by the receiver instead of the gift by default. If the gift was paid with just bought Telegram Stars, then full value can be claimed.
4848
49+
upgrade_star_count (``int``, *optional*):
50+
Number of Telegram Stars that must be paid to upgrade the gift; 0 if upgrade isn't possible.
51+
52+
is_for_birthday (``bool``, *optional*):
53+
True, if the gift is a birthday gift.
54+
4955
first_send_date (:py:obj:`~datetime.datetime`, *optional*):
5056
Point in time (Unix timestamp) when the gift was send for the first time; for sold out gifts only.
5157
@@ -70,6 +76,8 @@ def __init__(
7076
total_count: Optional[int] = None,
7177
remaining_count: Optional[int] = None,
7278
default_sell_star_count: int,
79+
upgrade_star_count: int,
80+
is_for_birthday: Optional[bool] = None,
7381
first_send_date: Optional[datetime] = None,
7482
last_send_date: Optional[datetime] = None,
7583
is_limited: Optional[bool] = None,
@@ -83,6 +91,8 @@ def __init__(
8391
self.total_count = total_count
8492
self.remaining_count = remaining_count
8593
self.default_sell_star_count = default_sell_star_count
94+
self.upgrade_star_count = upgrade_star_count
95+
self.is_for_birthday = is_for_birthday
8696
self.first_send_date = first_send_date
8797
self.last_send_date = last_send_date
8898
self.is_limited = is_limited
@@ -107,5 +117,7 @@ async def _parse(
107117
last_send_date=utils.timestamp_to_datetime(getattr(star_gift, "last_sale_date", None)),
108118
is_limited=getattr(star_gift, "limited", None),
109119
is_sold_out=getattr(star_gift, "sold_out", None),
120+
upgrade_star_count=getattr(star_gift, "upgrade_stars", 0),
121+
is_for_birthday=getattr(star_gift, "birthday", None),
110122
client=client
111123
)

pyrogram/types/messages_and_media/user_gift.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,9 @@ async def _parse_action(
171171
total_count=getattr(action.gift, "availability_total", None),
172172
remaining_count=getattr(action.gift, "availability_remains", None),
173173
default_sell_star_count=action.gift.convert_stars,
174-
is_limited=getattr(action.gift, "limited", None),
174+
is_limited=getattr(action.gift, "limited", None),upgrade_star_count=getattr(star_gift, "upgrade_stars", 0),
175+
is_for_birthday=getattr(star_gift, "birthday", None),
176+
client=client
175177
),
176178
date=utils.timestamp_to_datetime(message.date),
177179
is_private=getattr(action, "name_hidden", None),
@@ -198,6 +200,9 @@ async def _parse_action(
198200
remaining_count=getattr(action.gift, "availability_remains", None),
199201
default_sell_star_count=action.gift.convert_stars,
200202
is_limited=getattr(action.gift, "limited", None),
203+
upgrade_star_count=getattr(star_gift, "upgrade_stars", 0),
204+
is_for_birthday=getattr(star_gift, "birthday", None),
205+
client=client
201206
),
202207
date=utils.timestamp_to_datetime(message.date),
203208
sender_user=types.User._parse(client, users.get(utils.get_raw_peer_id(message.peer_id))),
@@ -207,7 +212,7 @@ async def _parse_action(
207212
can_be_transferred=getattr(action, "transferred", None),
208213
was_refunded=getattr(action, "refunded", None),
209214
prepaid_upgrade_star_count=getattr(action, "upgrade_stars", None),
210-
export_date=utils.timestamp_to_datetime(action.can_export_at) if action.can_export_at else None,
215+
export_date=utils.timestamp_to_datetime(getattr(action, "can_export_at", None),
211216
transfer_star_count=getattr(action, "transfer_stars", None),
212217
client=client
213218
)

0 commit comments

Comments
 (0)