@@ -73,7 +73,6 @@ def __init__(
7373 stars : int = None ,
7474 additional_price : str = None ,
7575 allowed_countries : List [str ] = None ,
76- private_channel_ids : List [int ] = None ,
7776 is_winners_hidden : bool = None
7877 ):
7978 super ().__init__ (client )
@@ -86,28 +85,12 @@ def __init__(
8685 self .new_subscribers = new_subscribers
8786 self .additional_price = additional_price
8887 self .allowed_countries = allowed_countries
89- self .private_channel_ids = private_channel_ids
9088 self .is_winners_hidden = is_winners_hidden
9189
9290 @staticmethod
93- async def _parse (client , message : "raw.types.Message" ) -> "Giveaway" :
91+ async def _parse (client , message : "raw.types.Message" , chats : dict ) -> "Giveaway" :
9492 giveaway : "raw.types.MessageMediaGiveaway" = message .media
95- chats = []
96- private_ids = []
97- for raw_chat_id in giveaway .channels :
98- chat_id = utils .get_channel_id (raw_chat_id )
99- try :
100- chat = await client .invoke (
101- raw .functions .channels .GetChannels (
102- id = [await client .resolve_peer (chat_id )]
103- )
104- )
105- except FloodWait as e :
106- await asyncio .sleep (e .value )
107- except Exception :
108- private_ids .append (chat_id )
109- else :
110- chats .append (types .Chat ._parse_chat (client , chat .chats [0 ]))
93+ chats = types .List (types .Chat ._parse_channel_chat (client , chats .get (i )) for i in giveaway .channels )
11194
11295 return Giveaway (
11396 chats = chats ,
@@ -118,7 +101,6 @@ async def _parse(client, message: "raw.types.Message") -> "Giveaway":
118101 new_subscribers = giveaway .only_new_subscribers ,
119102 additional_price = giveaway .prize_description ,
120103 allowed_countries = giveaway .countries_iso2 if len (giveaway .countries_iso2 ) > 0 else None ,
121- private_channel_ids = private_ids if len (private_ids ) > 0 else None ,
122104 is_winners_hidden = not giveaway .winners_are_visible ,
123105 client = client
124106 )
0 commit comments