mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-06-23 21:46:49 +00:00
Modify .send_message to return the sent message object
This commit is contained in:
parent
d12fb5b924
commit
73fe7258d1
@ -40,7 +40,8 @@ from .tl.types import (
|
|||||||
InputDocumentFileLocation, InputFileLocation,
|
InputDocumentFileLocation, InputFileLocation,
|
||||||
InputMediaUploadedDocument, InputMediaUploadedPhoto, InputPeerEmpty,
|
InputMediaUploadedDocument, InputMediaUploadedPhoto, InputPeerEmpty,
|
||||||
Message, MessageMediaContact, MessageMediaDocument, MessageMediaPhoto,
|
Message, MessageMediaContact, MessageMediaDocument, MessageMediaPhoto,
|
||||||
InputUserSelf, UserProfilePhoto, ChatPhoto
|
InputUserSelf, UserProfilePhoto, ChatPhoto, UpdateMessageID,
|
||||||
|
UpdateNewMessage
|
||||||
)
|
)
|
||||||
from .utils import find_user_or_chat, get_extension
|
from .utils import find_user_or_chat, get_extension
|
||||||
|
|
||||||
@ -411,7 +412,7 @@ class TelegramClient(TelegramBareClient):
|
|||||||
reply_to=None,
|
reply_to=None,
|
||||||
link_preview=True):
|
link_preview=True):
|
||||||
"""Sends a message to the given entity (or input peer)
|
"""Sends a message to the given entity (or input peer)
|
||||||
and returns the sent message ID.
|
and returns the sent message as a Telegram object.
|
||||||
|
|
||||||
If 'reply_to' is set to either a message or a message ID,
|
If 'reply_to' is set to either a message or a message ID,
|
||||||
the sent message will be replying to such message.
|
the sent message will be replying to such message.
|
||||||
@ -424,7 +425,21 @@ class TelegramClient(TelegramBareClient):
|
|||||||
reply_to_msg_id=self._get_reply_to(reply_to)
|
reply_to_msg_id=self._get_reply_to(reply_to)
|
||||||
)
|
)
|
||||||
result = self(request)
|
result = self(request)
|
||||||
return request.random_id
|
# Telegram seems to send updateMessageID first, then updateNewMessage,
|
||||||
|
# however let's not rely on that just in case.
|
||||||
|
msg_id = None
|
||||||
|
for update in result.updates:
|
||||||
|
if isinstance(update, UpdateMessageID):
|
||||||
|
if update.random_id == request.random_id:
|
||||||
|
msg_id = update.id
|
||||||
|
break
|
||||||
|
|
||||||
|
for update in result.updates:
|
||||||
|
if isinstance(update, UpdateNewMessage):
|
||||||
|
if update.message.id == msg_id:
|
||||||
|
return update.message
|
||||||
|
|
||||||
|
return None # Should not happen
|
||||||
|
|
||||||
def get_message_history(self,
|
def get_message_history(self,
|
||||||
entity,
|
entity,
|
||||||
|
Loading…
Reference in New Issue
Block a user