Skip to content

Commit 1fd0d5a

Browse files
Add wear bound method to Gift class
1 parent 8a6fab4 commit 1fd0d5a

4 files changed

Lines changed: 41 additions & 9 deletions

File tree

compiler/docs/compiler.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -857,6 +857,7 @@ def get_title_list(s: str) -> list:
857857
Gift.convert
858858
Gift.upgrade
859859
Gift.transfer
860+
Gift.wear
860861
""",
861862
animation="""
862863
Animation

pyrogram/methods/users/set_emoji_status.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ async def set_emoji_status(
4343
4444
from pyrogram import types
4545
46+
# Set emoji status
4647
await app.set_emoji_status(types.EmojiStatus(custom_emoji_id=1234567890987654321))
48+
49+
# Set collectible emoji status
50+
await app.set_emoji_status(types.EmojiStatus(collectible_id=1234567890987654321))
4751
"""
4852
await self.invoke(
4953
raw.functions.account.UpdateEmojiStatus(

pyrogram/types/messages_and_media/gift.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,3 +491,30 @@ async def transfer(self, to_chat_id: Union[int, str]) -> bool:
491491
message_id=self.message_id,
492492
to_chat_id=to_chat_id
493493
)
494+
495+
async def wear(self) -> bool:
496+
"""Bound method *wear* of :obj:`~pyrogram.types.Gift`.
497+
498+
.. note::
499+
500+
This works for upgraded gifts only.
501+
502+
Use as a shortcut for:
503+
504+
.. code-block:: python
505+
506+
await client.set_emoji_status(types.EmojiStatus(gift_id=123))
507+
508+
Example:
509+
.. code-block:: python
510+
511+
await star_gift.wear()
512+
513+
Returns:
514+
``bool``: On success, True is returned.
515+
"""
516+
return self._client.set_emoji_status(
517+
emoji_status=types.EmojiStatus(
518+
gift_id=self.id
519+
)
520+
)

pyrogram/types/user_and_chats/emoji_status.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class EmojiStatus(Object):
2929
"""A user emoji status.
3030
3131
Parameters:
32-
custom_emoji_id (``int``):
32+
custom_emoji_id (``int``, *optional*):
3333
Custom emoji id.
3434
3535
until_date (:py:obj:`~datetime.datetime`, *optional*):
@@ -38,8 +38,8 @@ class EmojiStatus(Object):
3838
title (``str``, *optional*):
3939
Title of the collectible.
4040
41-
collectible_id (``int``, *optional*):
42-
Collectible id.
41+
gift_id (``int``, *optional*):
42+
Gift collectible id.
4343
4444
name (``str``, *optional*):
4545
Name of the collectible.
@@ -64,10 +64,10 @@ def __init__(
6464
self,
6565
*,
6666
client: "pyrogram.Client" = None,
67-
custom_emoji_id: int,
67+
custom_emoji_id: Optional[int] = None,
68+
gift_id: Optional[int] = None,
6869
until_date: Optional[datetime] = None,
6970
title: Optional[str] = None,
70-
collectible_id: Optional[int] = None,
7171
name: Optional[str] = None,
7272
pattern_custom_emoji_id: Optional[int] = None,
7373
center_color: Optional[int] = None,
@@ -78,9 +78,9 @@ def __init__(
7878
super().__init__(client)
7979

8080
self.custom_emoji_id = custom_emoji_id
81+
self.gift_id = gift_id
8182
self.until_date = until_date
8283
self.title = title
83-
self.collectible_id = collectible_id
8484
self.name = name
8585
self.pattern_custom_emoji_id = pattern_custom_emoji_id
8686
self.center_color = center_color
@@ -101,9 +101,9 @@ def _parse(client, emoji_status: "raw.base.EmojiStatus") -> Optional["EmojiStatu
101101
return EmojiStatus(
102102
client=client,
103103
custom_emoji_id=emoji_status.document_id,
104+
gift_id=emoji_status.collectible_id,
104105
until_date=utils.timestamp_to_datetime(getattr(emoji_status, "until", None)),
105106
title=emoji_status.title,
106-
collectible_id=emoji_status.collectible_id,
107107
name=emoji_status.slug,
108108
pattern_custom_emoji_id=emoji_status.pattern_document_id,
109109
center_color=emoji_status.center_color,
@@ -115,9 +115,9 @@ def _parse(client, emoji_status: "raw.base.EmojiStatus") -> Optional["EmojiStatu
115115
return None
116116

117117
def write(self):
118-
if self.collectible_id:
118+
if self.gift_id:
119119
return raw.types.InputEmojiStatusCollectible(
120-
collectible_id=self.collectible_id,
120+
collectible_id=self.gift_id,
121121
until=utils.datetime_to_timestamp(self.until_date)
122122
)
123123

0 commit comments

Comments
 (0)