Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions compiler/docs/compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,7 @@ def get_title_list(s: str) -> list:
Chat.join
Chat.leave
Chat.mark_unread
Chat.no_forwards
""",
user="""
User
Expand Down
4 changes: 3 additions & 1 deletion pyrogram/methods/chats/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
from .unpin_all_chat_messages import UnpinAllChatMessages
from .unpin_chat_message import UnpinChatMessage
from .update_chat_username import UpdateChatUsername
from .toggle_no_forwards import ToggleNoForwards


class Chats(
Expand Down Expand Up @@ -98,6 +99,7 @@ class Chats(
GetChatEventLog,
GetChatOnlineCount,
GetSendAsChats,
SetSendAsChat
SetSendAsChat,
ToggleNoForwards
):
pass
49 changes: 49 additions & 0 deletions pyrogram/methods/chats/toggle_no_forwards.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Pyrogram - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-2021 Dan <https://github.com/delivrance>
#
# This file is part of Pyrogram.
#
# Pyrogram 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.
#
# Pyrogram 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 Pyrogram. If not, see <http://www.gnu.org/licenses/>.

from typing import Union

from pyrogram.raw import functions
from pyrogram.scaffold import Scaffold


class ToggleNoForwards(Scaffold):
async def toggle_no_forwards(
self,
chat_id: Union[int, str],
enabled: bool = False
) -> bool:
"""Toggle no forwards chat option

Parameters:
chat_id (``int`` | ``str``):
Unique identifier (int) or username (str) of the target chat.

enabled (``bool``, *optional*):
Pass True to enable no forwards

Returns:
``bool``: On success, True is returned.
"""

return await self.send(
functions.messages.ToggleNoForwards(
peer=await self.resolve_peer(chat_id),
enabled=enabled
)
)
23 changes: 23 additions & 0 deletions pyrogram/types/user_and_chats/chat.py
Original file line number Diff line number Diff line change
Expand Up @@ -1010,3 +1010,26 @@ async def mark_unread(self, ) -> bool:
"""

return await self._client.mark_chat_unread(self.id)

async def no_forwards(self, enabled: bool = False) -> bool:
"""Bound method *toggle_no_forwards* of :obj:`~pyrogram.types.Chat`.

Use as a shortcut for:

.. code-block:: python

client.toggle_no_forwards(chat_id, enabled)

Example:
.. code-block:: python

chat.toggle_no_forwards(True)

Returns:
``bool``: On success, True is returned.
"""

return await self._client.toggle_no_forwards(
self.id,
enabled=enabled
)