diff --git a/compiler/docs/compiler.py b/compiler/docs/compiler.py index 2e8b0421..c5aaef30 100644 --- a/compiler/docs/compiler.py +++ b/compiler/docs/compiler.py @@ -369,6 +369,7 @@ def pyrogram_api(): answer_web_app_query answer_pre_checkout_query answer_shipping_query + refund_star_payment get_bot_info set_bot_info get_collectible_item_info diff --git a/pyrogram/methods/bots/__init__.py b/pyrogram/methods/bots/__init__.py index f37303d1..69910a74 100644 --- a/pyrogram/methods/bots/__init__.py +++ b/pyrogram/methods/bots/__init__.py @@ -29,6 +29,7 @@ from .get_chat_menu_button import GetChatMenuButton from .get_collectible_item_info import GetCollectibleItemInfo from .get_game_high_scores import GetGameHighScores from .get_inline_bot_results import GetInlineBotResults +from .refund_stars_payment import RefundStarPayment from .request_callback_answer import RequestCallbackAnswer from .send_game import SendGame from .send_inline_bot_result import SendInlineBotResult @@ -59,6 +60,7 @@ class Bots( GetChatMenuButton, AnswerWebAppQuery, AnswerPreCheckoutQuery, + RefundStarPayment, GetCollectibleItemInfo ): pass diff --git a/pyrogram/methods/bots/refund_stars_payment.py b/pyrogram/methods/bots/refund_stars_payment.py new file mode 100644 index 00000000..efcfdd07 --- /dev/null +++ b/pyrogram/methods/bots/refund_stars_payment.py @@ -0,0 +1,54 @@ +# Pyrofork - Telegram MTProto API Client Library for Python +# Copyright (C) 2022-present 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 . + +from typing import Union + +import pyrogram +from pyrogram import raw + +class RefundStarPayment: + async def refund_star_payment( + self: "pyrogram.Client", + user_id: Union[int, str], + telegram_payment_charge_id: str + ) -> bool: + """Refund the star to the user. + + Parameters: + user_id (``int`` | ``str``): + The user id to refund the stars. + + telegram_payment_charge_id (``str``): + The charge id to refund the stars. + + Returns: + `bool`: On success, a True is returned. + + Example: + .. code-block:: python + + await app.refund_star_payment(user_id, telegram_payment_charge_id) + """ + await self.invoke( + raw.functions.payments.RefundStarsCharge( + user_id=await self.resolve_peer(user_id), + charge_id=telegram_payment_charge_id + ) + ) + + return True