Skip to content

Commit

Permalink
Add send_paid_reaction method
Browse files Browse the repository at this point in the history
  • Loading branch information
KurimuzonAkuma committed Aug 15, 2024
1 parent e2002d1 commit ee10f35
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 0 deletions.
1 change: 1 addition & 0 deletions compiler/docs/compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ def get_title_list(s: str) -> list:
update_color
delete_chat_history
send_paid_media
send_paid_reaction
""",
chats="""
Chats
Expand Down
2 changes: 2 additions & 0 deletions pyrogram/methods/messages/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
from .send_media_group import SendMediaGroup
from .send_message import SendMessage
from .send_paid_media import SendPaidMedia
from .send_paid_reaction import SendPaidReaction
from .send_photo import SendPhoto
from .send_poll import SendPoll
from .send_reaction import SendReaction
Expand Down Expand Up @@ -99,6 +100,7 @@ class Messages(
SendMediaGroup,
SendMessage,
SendPaidMedia,
SendPaidReaction,
SendPhoto,
SendSticker,
SendVenue,
Expand Down
69 changes: 69 additions & 0 deletions pyrogram/methods/messages/send_paid_reaction.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Pyrogram - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present 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

import pyrogram
from pyrogram import raw


class SendPaidReaction:
async def send_paid_reaction(
self: "pyrogram.Client",
chat_id: Union[int, str],
message_id: int,
amount: int,
is_private: bool = None
) -> bool:
"""Send a paid reaction to a message.
.. include:: /_includes/usable-by/users.rst
Parameters:
chat_id (``int`` | ``str``):
Unique identifier (int) or username (str) of the target chat.
message_id (``int``, *optional*):

This comment has been minimized.

Copy link
@SpEcHiDe

SpEcHiDe Aug 16, 2024

optional ? or not ?

This comment has been minimized.

Copy link
@KurimuzonAkuma

KurimuzonAkuma Aug 16, 2024

Author Owner

optional ? or not ?

Why are you messing with me? 🥲

Identifier of the message.
amount (``int``, *optional*):
Amount of stars to send.
is_private (``bool``, *optional*):
Pass True to hide you from top reactors.
Returns:
``bool``: On success, True is returned.
Example:
.. code-block:: python
# Send paid reaction with 1 star
await app.send_paid_reaction(chat_id, message_id, count=1)

This comment has been minimized.

Copy link
@SpEcHiDe

SpEcHiDe Aug 16, 2024

count OR amount ?

This comment has been minimized.

Copy link
@KurimuzonAkuma

KurimuzonAkuma Aug 16, 2024

Author Owner

count OR amount ?

oops, forgot about example

"""
rpc = raw.functions.messages.SendPaidReaction(
peer=await self.resolve_peer(chat_id),
msg_id=message_id,
count=amount,
random_id=self.rnd_id(),
private=is_private
)

await self.invoke(rpc)

return True

0 comments on commit ee10f35

Please sign in to comment.