mirror of
https://github.com/Mayuri-Chan/pyrofork.git
synced 2025-12-29 03:54:51 +00:00
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.14) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.14) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@komodos.id>
70 lines
2.2 KiB
Python
70 lines
2.2 KiB
Python
# Pyrofork - Telegram MTProto API Client Library for Python
|
|
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
|
|
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
|
|
#
|
|
# This file is part of Pyrofork.
|
|
#
|
|
# Pyrofork is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Lesser General Public License as published
|
|
# by the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Pyrofork is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public License
|
|
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
import pyrogram
|
|
from pyrogram import raw
|
|
|
|
|
|
class ExportFolderLink:
|
|
async def export_folder_link(
|
|
self: "pyrogram.Client",
|
|
folder_id: int
|
|
) -> "pyrogram.types.ExportedFolderLink":
|
|
"""Export link to a user's folder.
|
|
|
|
.. include:: /_includes/usable-by/users.rst
|
|
|
|
Parameters:
|
|
folder_id (``int``):
|
|
Unique identifier (int) of the target folder.
|
|
|
|
Returns:
|
|
:obj:`~pyrogram.types.ExportedFolderLink` objects.
|
|
|
|
Example:
|
|
.. code-block:: python
|
|
|
|
# Export folder link
|
|
app.export_folder_link(folder_id)
|
|
"""
|
|
folder = await self.get_folders(folder_id)
|
|
|
|
if not folder:
|
|
return
|
|
|
|
peers = []
|
|
|
|
if folder.included_chats:
|
|
peers.extend(iter(folder.included_chats))
|
|
|
|
if folder.excluded_chats:
|
|
peers.extend(iter(folder.included_chats))
|
|
|
|
if folder.pinned_chats:
|
|
peers.extend(iter(folder.included_chats))
|
|
|
|
r = await self.invoke(
|
|
raw.functions.chatlists.ExportChatlistInvite(
|
|
chatlist=raw.types.InputChatlistDialogFilter(filter_id=folder_id),
|
|
title=folder.title,
|
|
peers=[await self.resolve_peer(i.id) for i in peers],
|
|
)
|
|
)
|
|
|
|
return types.ExportedFolderLink._parse(r)
|