diff --git a/pyrogram/methods/invite_links/export_chat_invite_link.py b/pyrogram/methods/invite_links/export_chat_invite_link.py index ab2900a56..16601f406 100644 --- a/pyrogram/methods/invite_links/export_chat_invite_link.py +++ b/pyrogram/methods/invite_links/export_chat_invite_link.py @@ -22,12 +22,15 @@ import pyrogram from pyrogram import raw from pyrogram import types +from pyrogram import utils class ExportChatInviteLink: async def export_chat_invite_link( self: "pyrogram.Client", chat_id: Union[int, str], + subscription_period: int = None, + subscription_price: int = None ) -> "types.ChatInviteLink": """Generate a new primary invite link for a chat; any previously generated primary link is revoked. @@ -48,6 +51,13 @@ async def export_chat_invite_link( (in the format @username). You can also use chat public link in form of *t.me/* (str). + subscription_period (``int``, *optional*): + Date when the subscription will expire. + for now, only 30 days is supported (30*24*60*60). + + subscription_price (``int``, *optional*): + Subscription price (stars). + Returns: ``str``: On success, the new invite link as string is returned. @@ -60,7 +70,11 @@ async def export_chat_invite_link( r = await self.invoke( raw.functions.messages.ExportChatInvite( peer=await self.resolve_peer(chat_id), - legacy_revoke_permanent=True + legacy_revoke_permanent=True, + subscription_pricing=raw.types.StarsSubscriptionPricing( + period=subscription_period, + amount=subscription_price + ) ) ) diff --git a/pyrogram/types/user_and_chats/chat.py b/pyrogram/types/user_and_chats/chat.py index bf3337158..7618fe481 100644 --- a/pyrogram/types/user_and_chats/chat.py +++ b/pyrogram/types/user_and_chats/chat.py @@ -1071,7 +1071,11 @@ async def leave(self): return await self._client.leave_chat(self.id) - async def export_invite_link(self): + async def export_invite_link( + self, + subscription_period: int = None, + subscription_price: int = None + ): """Bound method *export_invite_link* of :obj:`~pyrogram.types.Chat`. Use as a shortcut for: @@ -1085,6 +1089,14 @@ async def export_invite_link(self): chat.export_invite_link() + Parameters: + subscription_period (``int``, *optional*): + Channel members only. Date when the subscription expires. + for now, only 30 days is supported (30*24*60*60). + + subscription_price (``int``, *optional*): + Channel members only. Price of the subscription in the smallest units of the currency. + Returns: ``str``: On success, the exported invite link is returned. @@ -1092,7 +1104,11 @@ async def export_invite_link(self): ValueError: In case the chat_id belongs to a user. """ - return await self._client.export_chat_invite_link(self.id) + return await self._client.export_chat_invite_link( + self.id, + subscription_period=subscription_period, + subscription_price=subscription_price + ) async def get_member( self,