From 165ade92d5348b5bfde699ad11923722e397c90d Mon Sep 17 00:00:00 2001 From: Devesh Pal <69723581+New-dev0@users.noreply.github.com> Date: Fri, 16 Jul 2021 21:31:27 -0300 Subject: [PATCH] Add bound method `stop()` to the `Poll` object Signed-off-by: wulan17 --- pyrogram/types/messages_and_media/poll.py | 48 ++++++++++++++++++++--- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/pyrogram/types/messages_and_media/poll.py b/pyrogram/types/messages_and_media/poll.py index cdb97ea1..fe996027 100644 --- a/pyrogram/types/messages_and_media/poll.py +++ b/pyrogram/types/messages_and_media/poll.py @@ -1,20 +1,21 @@ -# Pyrogram - Telegram MTProto API Client Library for Python +# Pyrofork - Telegram MTProto API Client Library for Python # Copyright (C) 2017-present Dan +# Copyright (C) 2022-present Mayuri-Chan # -# This file is part of Pyrogram. +# This file is part of Pyrofork. # -# Pyrogram is free software: you can redistribute it and/or modify +# 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. # -# Pyrogram is distributed in the hope that it will be useful, +# 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 Pyrogram. If not, see . +# along with Pyrofork. If not, see . from datetime import datetime from typing import List, Union, Optional @@ -201,3 +202,40 @@ class Poll(Object, Update): correct_option_id=correct_option_id, client=client ) + + async def stop( + self, + reply_markup: "types.InlineKeyboardMarkup" = None + ) -> "types.Poll": + """Bound method *stop* of :obj:`~pyrogram.types.Poll`. + + Use as a shortcut for: + + .. code-block:: python + + client.stop_poll( + chat_id=message.chat.id, + message_id=message.id, + ) + + Parameters: + reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*): + An InlineKeyboardMarkup object. + + Example: + .. code-block:: python + + message.poll.stop() + + Returns: + :obj:`~pyrogram.types.Poll`: On success, the stopped poll with the final results is returned. + + Raises: + RPCError: In case of a Telegram RPC error. + """ + + return await self._client.stop_poll( + chat_id=self.chat.id, + message_id=self.id, + reply_markup=reply_markup + )