Pyrofork: Move reply_to to pyrogram.utils

Signed-off-by: wulan17 <wulan17@nusantararom.org>
This commit is contained in:
wulan17 2023-12-30 00:01:51 +07:00
parent 094d069b28
commit cd0473c6af
No known key found for this signature in database
GPG key ID: 318CD6CD3A6AC0A5
20 changed files with 192 additions and 234 deletions

View file

@ -21,7 +21,7 @@ from typing import Union
import pyrogram
from pyrogram import raw
from pyrogram import types
from pyrogram import types, utils
class SendGame:
@ -79,9 +79,12 @@ class SendGame:
await app.send_game(chat_id, "gamename")
"""
reply_to = None
if reply_to_message_id or message_thread_id:
reply_to = types.InputReplyToMessage(reply_to_message_id=reply_to_message_id, message_thread_id=message_thread_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id
)
r = await self.invoke(
raw.functions.messages.SendMedia(

View file

@ -20,7 +20,7 @@
from typing import Union
import pyrogram
from pyrogram import raw, types
from pyrogram import raw, types, utils
class SendInlineBotResult:
@ -75,9 +75,13 @@ class SendInlineBotResult:
await app.send_inline_bot_result(chat_id, query_id, result_id)
"""
reply_to = None
if reply_to_message_id or message_thread_id:
reply_to = types.InputReplyToMessage(reply_to_message_id=reply_to_message_id, message_thread_id=message_thread_id, quote_text=quote_text)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
quote_text=quote_text
)
return await self.invoke(
raw.functions.messages.SendInlineBotResult(

View file

@ -195,20 +195,15 @@ class SendAnimation:
"""
file = None
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
try:
if isinstance(animation, str):

View file

@ -189,20 +189,15 @@ class SendAudio:
"""
file = None
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
try:
if isinstance(audio, str):

View file

@ -122,20 +122,15 @@ class SendCachedMedia:
await app.send_cached_media("me", file_id)
"""
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
media = utils.get_input_media_from_file_id(file_id)
media.spoiler = has_spoiler

View file

@ -107,17 +107,14 @@ class SendContact:
await app.send_contact("me", "+1-123-456-7890", "Name")
"""
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
r = await self.invoke(
raw.functions.messages.SendMedia(

View file

@ -110,20 +110,15 @@ class SendDice:
await app.send_dice(chat_id, "🏀")
"""
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
r = await self.invoke(
raw.functions.messages.SendMedia(

View file

@ -176,20 +176,15 @@ class SendDocument:
"""
file = None
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
try:
if isinstance(document, str):

View file

@ -99,17 +99,14 @@ class SendLocation:
app.send_location("me", latitude, longitude)
"""
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
r = await self.invoke(
raw.functions.messages.SendMedia(

View file

@ -114,20 +114,15 @@ class SendMediaGroup:
"""
multi_media = []
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
for i in media:
if isinstance(i, types.InputMediaPhoto):

View file

@ -143,20 +143,15 @@ class SendMessage:
message, entities = (await utils.parse_text_entities(self, text, parse_mode, entities)).values()
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
r = await self.invoke(
raw.functions.messages.SendMessage(

View file

@ -167,20 +167,15 @@ class SendPhoto:
"""
file = None
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
try:
if isinstance(photo, str):

View file

@ -149,17 +149,14 @@ class SendPoll:
await app.send_poll(chat_id, "Is this a poll question?", ["Yes", "No", "Maybe"])
"""
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
solution, solution_entities = (await utils.parse_text_entities(
self, explanation, explanation_parse_mode, explanation_entities

View file

@ -140,20 +140,15 @@ class SendSticker:
"""
file = None
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
try:
if isinstance(sticker, str):

View file

@ -118,17 +118,14 @@ class SendVenue:
"Venue title", "Venue address")
"""
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
r = await self.invoke(
raw.functions.messages.SendMedia(

View file

@ -200,20 +200,15 @@ class SendVideo:
"""
file = None
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
try:
if isinstance(video, str):

View file

@ -154,20 +154,15 @@ class SendVideoNote:
"""
file = None
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
try:
if isinstance(video_note, str):

View file

@ -162,20 +162,15 @@ class SendVoice:
"""
file = None
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
try:
if isinstance(voice, str):

View file

@ -122,20 +122,15 @@ class SendWebPage:
message, entities = (await utils.parse_text_entities(self, text, parse_mode, entities)).values()
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await self.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await self.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(user_id=user_id, story_id=reply_to_story_id)
reply_to = await utils.get_reply_to(
client=self,
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text
)
media = raw.types.InputMediaWebPage(
url=url,

View file

@ -446,3 +446,31 @@ def datetime_to_timestamp(dt: Optional[datetime]) -> Optional[int]:
async def run_sync(func: Callable[..., TypeVar("Result")], *args: Any, **kwargs: Any) -> TypeVar("Result"):
loop = asyncio.get_event_loop()
return await loop.run_in_executor(None, functools.partial(func, *args, **kwargs))
async def get_reply_to(
client: "pyrogram.Client",
chat_id: Union[int,str] = None,
reply_to_message_id: int = None,
reply_to_story_id: int = None,
message_thread_id: int = None,
reply_to_chat_id: Union[int,str] = None,
quote_text: str = None
):
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
if reply_to_chat_id is not None:
reply_to_chat = await client.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat,
quote_text=quote_text
)
if reply_to_story_id:
user_id = await client.resolve_peer(chat_id)
reply_to = types.InputReplyToStory(
user_id=user_id,
story_id=reply_to_story_id
)
return reply_to