From 04cf4e68e3339f12e3c3a44649cced690727c04d Mon Sep 17 00:00:00 2001 From: ColinShark Date: Sat, 12 Dec 2020 16:56:26 +0100 Subject: [PATCH] Add mark_chat_unread() method (#322) * Add mark_chat_unread() method * Add bound method for mark_chat_unread * Update mark_chat_unread.py * Update chat.py Apply Dans suggested changes * Update mark_chat_unread.py * Update chat.py * Update compiler.py Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com> --- compiler/docs/compiler.py | 2 + pyrogram/client/methods/chats/__init__.py | 4 +- .../client/methods/chats/mark_chat_unread.py | 45 +++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 pyrogram/client/methods/chats/mark_chat_unread.py diff --git a/compiler/docs/compiler.py b/compiler/docs/compiler.py index 8afd99f8..8115d0ef 100644 --- a/compiler/docs/compiler.py +++ b/compiler/docs/compiler.py @@ -216,6 +216,7 @@ def pyrogram_api(): delete_channel delete_supergroup set_slow_mode + mark_chat_unread """, users=""" Users @@ -459,6 +460,7 @@ def pyrogram_api(): Chat.add_members Chat.join Chat.leave + Chat.mark_unread """, user=""" User diff --git a/pyrogram/client/methods/chats/__init__.py b/pyrogram/client/methods/chats/__init__.py index 6e4a9228..8926191d 100644 --- a/pyrogram/client/methods/chats/__init__.py +++ b/pyrogram/client/methods/chats/__init__.py @@ -50,6 +50,7 @@ from .unarchive_chats import UnarchiveChats from .unban_chat_member import UnbanChatMember from .unpin_chat_message import UnpinChatMessage from .update_chat_username import UpdateChatUsername +from .mark_chat_unread import MarkChatUnread class Chats( @@ -86,6 +87,7 @@ class Chats( DeleteSupergroup, GetNearbyChats, SetAdministratorTitle, - SetSlowMode + SetSlowMode, + MarkChatUnread ): pass diff --git a/pyrogram/client/methods/chats/mark_chat_unread.py b/pyrogram/client/methods/chats/mark_chat_unread.py new file mode 100644 index 00000000..7d8558da --- /dev/null +++ b/pyrogram/client/methods/chats/mark_chat_unread.py @@ -0,0 +1,45 @@ +# Pyrogram - Telegram MTProto API Client Library for Python +# Copyright (C) 2017-2020 Dan +# +# 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 . + +from typing import Union + +from pyrogram.raw import functions +from pyrogram.scaffold import Scaffold + + +class MarkChatUnread(Scaffold): + async def mark_chat_unread( + self, + chat_id: Union[int, str], + ) -> bool: + """Mark a chat as unread. + + Parameters: + chat_id (``int`` | ``str``): + Unique identifier (int) or username (str) of the target chat. + + Returns: + ``bool``: On success, True is returned. + """ + + return await self.send( + functions.messages.MarkDialogUnread( + peer=await self.resolve_peer(chat_id), + unread=True + ) + )