pyrofork: Add refund_star_payment method

Signed-off-by: wulan17 <wulan17@nusantararom.org>
This commit is contained in:
wulan17 2024-07-06 15:39:56 +07:00
parent 48cf8bcb23
commit 43809a91b1
No known key found for this signature in database
GPG key ID: 318CD6CD3A6AC0A5
3 changed files with 57 additions and 0 deletions

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,54 @@
# Pyrofork - Telegram MTProto API Client Library for Python
# 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/>.
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