mirror of
https://github.com/pyrogram/pyrogram
synced 2025-08-28 12:57:52 +00:00
Use raw functions when getting messages
This commit is contained in:
parent
06685cfe15
commit
d0ddb63830
@ -19,7 +19,7 @@
|
|||||||
from struct import pack
|
from struct import pack
|
||||||
|
|
||||||
import pyrogram
|
import pyrogram
|
||||||
from pyrogram.api import types
|
from pyrogram.api import types, functions
|
||||||
from .utils import encode
|
from .utils import encode
|
||||||
|
|
||||||
# TODO: Organize the code better?
|
# TODO: Organize the code better?
|
||||||
@ -173,6 +173,40 @@ def parse_thumb(thumb: types.PhotoSize or types.PhotoCachedSize) -> pyrogram.Pho
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def get_message_reply(client, chat_id: int or str, message_id: int):
|
||||||
|
peer = client.resolve_peer(chat_id)
|
||||||
|
message_id = [types.InputMessageReplyTo(message_id)]
|
||||||
|
|
||||||
|
if isinstance(peer, types.InputPeerChannel):
|
||||||
|
rpc = functions.channels.GetMessages(
|
||||||
|
channel=peer,
|
||||||
|
id=message_id
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
rpc = functions.messages.GetMessages(
|
||||||
|
id=message_id
|
||||||
|
)
|
||||||
|
|
||||||
|
return client.send(rpc)
|
||||||
|
|
||||||
|
|
||||||
|
def get_message_pinned(client, chat_id: int or str):
|
||||||
|
peer = client.resolve_peer(chat_id)
|
||||||
|
message_id = [types.InputMessagePinned()]
|
||||||
|
|
||||||
|
if isinstance(peer, types.InputPeerChannel):
|
||||||
|
rpc = functions.channels.GetMessages(
|
||||||
|
channel=peer,
|
||||||
|
id=message_id
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
rpc = functions.messages.GetMessages(
|
||||||
|
id=message_id
|
||||||
|
)
|
||||||
|
|
||||||
|
return client.send(rpc)
|
||||||
|
|
||||||
|
|
||||||
# TODO: Reorganize code, maybe split parts as well
|
# TODO: Reorganize code, maybe split parts as well
|
||||||
def parse_message(
|
def parse_message(
|
||||||
client,
|
client,
|
||||||
@ -465,7 +499,7 @@ def parse_message(
|
|||||||
)
|
)
|
||||||
|
|
||||||
if message.reply_to_msg_id and replies:
|
if message.reply_to_msg_id and replies:
|
||||||
reply_to_message = client.get_messages(m.chat.id, [message.reply_to_msg_id])
|
reply_to_message = get_message_reply(client, m.chat.id, message.id)
|
||||||
|
|
||||||
message = reply_to_message.messages[0]
|
message = reply_to_message.messages[0]
|
||||||
users = {i.id: i for i in reply_to_message.users}
|
users = {i.id: i for i in reply_to_message.users}
|
||||||
@ -573,7 +607,7 @@ def parse_message_service(
|
|||||||
)
|
)
|
||||||
|
|
||||||
if isinstance(action, types.MessageActionPinMessage):
|
if isinstance(action, types.MessageActionPinMessage):
|
||||||
pin_message = client.get_messages(m.chat.id, [message.reply_to_msg_id])
|
pin_message = get_message_pinned(client, m.chat.id)
|
||||||
|
|
||||||
message = pin_message.messages[0]
|
message = pin_message.messages[0]
|
||||||
users = {i.id: i for i in pin_message.users}
|
users = {i.id: i for i in pin_message.users}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user