Pyrofork: Add quote_entities parameter to send_{*} methods and Message.reply_{*} bound methods

also add missing parameters to InputReplyToMessage docs

Signed-off-by: wulan17 <wulan17@nusantararom.org>
This commit is contained in:
wulan17 2023-12-30 00:30:33 +07:00
parent cd0473c6af
commit c8b2a3adca
No known key found for this signature in database
GPG key ID: 318CD6CD3A6AC0A5
21 changed files with 388 additions and 40 deletions

View file

@ -17,10 +17,10 @@
# 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
from typing import List, Union, Optional
import pyrogram
from pyrogram import raw, types, utils
from pyrogram import enums, raw, types, utils
class SendInlineBotResult:
@ -32,7 +32,9 @@ class SendInlineBotResult:
disable_notification: bool = None,
message_thread_id: int = None,
reply_to_message_id: int = None,
quote_text: str = None
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None
) -> "raw.base.Updates":
"""Send an inline bot result.
Bot results can be retrieved using :meth:`~pyrogram.Client.get_inline_bot_results`
@ -66,6 +68,15 @@ class SendInlineBotResult:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
Returns:
:obj:`~pyrogram.raw.base.Updates`: Currently, on success, a raw result is returned.
@ -80,7 +91,9 @@ class SendInlineBotResult:
chat_id=chat_id,
reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id,
quote_text=quote_text
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
return await self.invoke(

View file

@ -52,6 +52,7 @@ class SendAnimation:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -138,6 +139,10 @@ class SendAnimation:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -202,7 +207,9 @@ class SendAnimation:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
try:

View file

@ -50,6 +50,7 @@ class SendAudio:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -131,6 +132,10 @@ class SendAudio:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -196,7 +201,9 @@ class SendAudio:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
try:

View file

@ -41,6 +41,7 @@ class SendCachedMedia:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -103,6 +104,10 @@ class SendCachedMedia:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -129,7 +134,9 @@ class SendCachedMedia:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
media = utils.get_input_media_from_file_id(file_id)

View file

@ -18,10 +18,10 @@
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime
from typing import Union
from typing import List, Union, Optional
import pyrogram
from pyrogram import raw, utils
from pyrogram import enums, raw, utils
from pyrogram import types
@ -38,6 +38,8 @@ class SendContact:
reply_to_message_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -88,6 +90,15 @@ class SendContact:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -113,7 +124,9 @@ class SendContact:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
r = await self.invoke(

View file

@ -18,10 +18,10 @@
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime
from typing import Union, Optional
from typing import List, Union, Optional
import pyrogram
from pyrogram import raw, utils
from pyrogram import enums, raw, utils
from pyrogram import types
@ -36,6 +36,8 @@ class SendDice:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -84,6 +86,15 @@ class SendDice:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -117,7 +128,9 @@ class SendDice:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
r = await self.invoke(

View file

@ -48,6 +48,7 @@ class SendDocument:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -123,6 +124,10 @@ class SendDocument:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -183,7 +188,9 @@ class SendDocument:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
try:

View file

@ -18,10 +18,10 @@
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime
from typing import Union
from typing import List, Union, Optional
import pyrogram
from pyrogram import raw, utils
from pyrogram import enums, raw, utils
from pyrogram import types
@ -36,6 +36,8 @@ class SendLocation:
reply_to_message_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -80,6 +82,15 @@ class SendLocation:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -105,7 +116,9 @@ class SendLocation:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
r = await self.invoke(

View file

@ -22,9 +22,10 @@ import os
import re
from datetime import datetime
from pymediainfo import MediaInfo
from typing import Union, List
from typing import Union, List, Optional
import pyrogram
from pyrogram import enums
from pyrogram import raw
from pyrogram import types
from pyrogram import utils
@ -51,6 +52,8 @@ class SendMediaGroup:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
) -> List["types.Message"]:
@ -89,6 +92,15 @@ class SendMediaGroup:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -121,7 +133,9 @@ class SendMediaGroup:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
for i in media:

View file

@ -39,6 +39,7 @@ class SendMessage:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -93,6 +94,10 @@ class SendMessage:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -150,7 +155,9 @@ class SendMessage:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
r = await self.invoke(

View file

@ -46,6 +46,7 @@ class SendPhoto:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -114,6 +115,10 @@ class SendPhoto:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -174,7 +179,9 @@ class SendPhoto:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
try:

View file

@ -18,7 +18,7 @@
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime
from typing import Union, List
from typing import Union, List, Optional
import pyrogram
from pyrogram import raw, utils
@ -47,6 +47,8 @@ class SendPoll:
reply_to_message_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
@ -133,6 +135,15 @@ class SendPoll:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -155,7 +166,9 @@ class SendPoll:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
solution, solution_entities = (await utils.parse_text_entities(

View file

@ -20,10 +20,11 @@
import os
import re
from datetime import datetime
from typing import Union, BinaryIO, Optional, Callable
from typing import List, Union, BinaryIO, Optional, Callable
import pyrogram
from pyrogram import StopTransmission
from pyrogram import enums
from pyrogram import raw
from pyrogram import types
from pyrogram import utils
@ -42,6 +43,8 @@ class SendSticker:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -92,6 +95,15 @@ class SendSticker:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -147,7 +159,9 @@ class SendSticker:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
try:

View file

@ -18,10 +18,10 @@
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime
from typing import Union
from typing import List, Union, Optional
import pyrogram
from pyrogram import raw, utils
from pyrogram import enums, raw, utils
from pyrogram import types
@ -40,6 +40,8 @@ class SendVenue:
reply_to_message_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -97,6 +99,15 @@ class SendVenue:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -124,7 +135,9 @@ class SendVenue:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
r = await self.invoke(

View file

@ -53,6 +53,7 @@ class SendVideo:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -144,6 +145,10 @@ class SendVideo:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -207,7 +212,9 @@ class SendVideo:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
try:

View file

@ -19,10 +19,11 @@
import os
from datetime import datetime
from typing import Union, BinaryIO, Optional, Callable
from typing import List, Union, BinaryIO, Optional, Callable
import pyrogram
from pyrogram import StopTransmission
from pyrogram import enums
from pyrogram import raw
from pyrogram import types
from pyrogram import utils
@ -44,6 +45,8 @@ class SendVideoNote:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -106,6 +109,15 @@ class SendVideoNote:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -161,7 +173,9 @@ class SendVideoNote:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
try:

View file

@ -46,6 +46,7 @@ class SendVoice:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -112,6 +113,10 @@ class SendVoice:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -169,7 +174,9 @@ class SendVoice:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
try:

View file

@ -40,6 +40,7 @@ class SendWebPage:
reply_to_story_id: int = None,
reply_to_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup: Union[
@ -100,6 +101,10 @@ class SendWebPage:
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -129,7 +134,9 @@ class SendWebPage:
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
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode
)
media = raw.types.InputMediaWebPage(

View file

@ -18,7 +18,7 @@
from pyrogram import raw
from ..object import Object
from typing import Union
from typing import List, Union
class InputReplyToMessage(Object):
@ -32,6 +32,18 @@ class InputReplyToMessage(Object):
message_thread_id (``int``, *optional*):
Unique identifier for the target message thread (topic) of the forum.
for forum supergroups only.
reply_to_chat (:obj:`~pyrogram.raw.InputPeer`, *optional*):
Unique identifier for the origin chat.
for reply to message from another chat.
quote_text (``str``, *optional*):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.raw.base.MessageEntity`):
Entities to quote.
for reply_to_message only.
"""
def __init__(
@ -42,7 +54,8 @@ class InputReplyToMessage(Object):
"raw.types.InputPeerChannel",
"raw.types.InputPeerUser"
] = None,
quote_text: str = None
quote_text: str = None,
quote_entities: List["raw.base.MessageEntity"] = None
):
super().__init__()
@ -50,6 +63,7 @@ class InputReplyToMessage(Object):
self.message_thread_id = message_thread_id
self.reply_to_chat = reply_to_chat
self.quote_text = quote_text
self.quote_entities = quote_entities
def write(self):
reply_to_msg_id = None
@ -67,6 +81,7 @@ class InputReplyToMessage(Object):
reply_to_msg_id=reply_to_msg_id,
top_msg_id=top_msg_id,
reply_to_peer_id=self.reply_to_chat,
quote_text=self.quote_text
quote_text=self.quote_text,
quote_entities=self.quote_entities
).write()
return None

View file

@ -1174,6 +1174,7 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup=None
@ -1231,6 +1232,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -1275,6 +1280,7 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
schedule_date=schedule_date,
protect_content=protect_content,
reply_markup=reply_markup
@ -1305,6 +1311,7 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
progress: Callable = None,
progress_args: tuple = ()
) -> "Message":
@ -1383,6 +1390,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -1450,6 +1461,7 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup,
progress=progress,
progress_args=progress_args
@ -1471,6 +1483,7 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup",
@ -1552,6 +1565,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -1618,6 +1635,7 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup,
progress=progress,
progress_args=progress_args
@ -1634,6 +1652,7 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup",
@ -1692,6 +1711,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -1729,6 +1752,7 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup
)
@ -1780,6 +1804,8 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup",
@ -1837,6 +1863,15 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -1874,6 +1909,8 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode,
reply_markup=reply_markup
)
@ -1891,6 +1928,7 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
@ -1968,6 +2006,10 @@ class Message(Object, Update):
quote_text (``str``, *optional*):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -2036,6 +2078,7 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
schedule_date=schedule_date,
reply_markup=reply_markup,
progress=progress,
@ -2123,7 +2166,9 @@ class Message(Object, Update):
quote: bool = None,
disable_notification: bool = None,
reply_to_message_id: int = None,
quote_text: str = None
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None
) -> "Message":
"""Bound method *reply_inline_bot_result* of :obj:`~pyrogram.types.Message`.
@ -2165,6 +2210,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
Returns:
On success, the sent Message is returned.
@ -2200,6 +2249,8 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup",
@ -2251,6 +2302,15 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -2286,6 +2346,8 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode,
reply_markup=reply_markup
)
@ -2301,7 +2363,9 @@ class Message(Object, Update):
disable_notification: bool = None,
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None
) -> List["types.Message"]:
"""Bound method *reply_media_group* of :obj:`~pyrogram.types.Message`.
@ -2345,6 +2409,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
Returns:
On success, a :obj:`~pyrogram.types.Messages` object is returned containing all the
single messages sent.
@ -2391,6 +2459,7 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup",
@ -2461,6 +2530,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -2524,6 +2597,7 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup,
progress=progress,
progress_args=progress_args
@ -2549,6 +2623,8 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
@ -2644,6 +2720,15 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -2693,6 +2778,8 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode,
schedule_date=schedule_date,
reply_markup=reply_markup
)
@ -2705,6 +2792,8 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup",
@ -2757,6 +2846,15 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -2815,6 +2913,8 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode,
reply_markup=reply_markup,
progress=progress,
progress_args=progress_args
@ -2833,6 +2933,8 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup",
@ -2899,6 +3001,15 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
parse_mode (:obj:`~pyrogram.enums.ParseMode`, *optional*):
By default, quote_text are parsed using both Markdown and HTML styles.
You can combine both syntaxes together.
For quote_text.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -2938,6 +3049,8 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode,
reply_markup=reply_markup
)
@ -2960,6 +3073,7 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup",
@ -3052,6 +3166,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -3121,6 +3239,7 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup,
progress=progress,
progress_args=progress_args
@ -3137,6 +3256,8 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup",
@ -3201,6 +3322,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -3262,6 +3387,8 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
parse_mode=parse_mode,
reply_markup=reply_markup,
progress=progress,
progress_args=progress_args
@ -3279,6 +3406,7 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_markup: Union[
"types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup",
@ -3344,6 +3472,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user.
@ -3406,6 +3538,7 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup,
progress=progress,
progress_args=progress_args
@ -3423,6 +3556,7 @@ class Message(Object, Update):
reply_to_message_id: int = None,
reply_in_chat_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None,
protect_content: bool = None,
reply_markup=None
@ -3484,6 +3618,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent.
@ -3530,6 +3668,7 @@ class Message(Object, Update):
reply_to_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text,
quote_entities=quote_entities,
schedule_date=schedule_date,
protect_content=protect_content,
reply_markup=reply_markup
@ -3802,6 +3941,7 @@ class Message(Object, Update):
disable_notification: bool = None,
message_thread_id: int = None,
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_to_message_id: int = None,
schedule_date: datetime = None,
protect_content: bool = None,
@ -3862,6 +4002,10 @@ class Message(Object, Update):
Text to quote.
for reply_to_message only.
quote_entities (List of :obj:`~pyrogram.types.MessageEntity`, *optional*):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only.
reply_to_message_id (``int``, *optional*):
If the message is a reply, ID of the original message.
@ -3902,6 +4046,7 @@ class Message(Object, Update):
message_thread_id=message_thread_id,
reply_to_message_id=reply_to_message_id,
quote_text=quote_text,
quote_entities=quote_entities,
schedule_date=schedule_date,
protect_content=protect_content,
reply_markup=self.reply_markup if reply_markup is object else reply_markup
@ -3997,6 +4142,7 @@ class Message(Object, Update):
message_thread_id=message_thread_id,
reply_to_message_id=reply_to_message_id,
quote_text=quote_text,
quote_entities=quote_entities,
schedule_date=schedule_date,
protect_content=protect_content,
reply_markup=self.reply_markup if reply_markup is object else reply_markup

View file

@ -454,18 +454,22 @@ async def get_reply_to(
reply_to_story_id: int = None,
message_thread_id: int = None,
reply_to_chat_id: Union[int,str] = None,
quote_text: str = None
quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: "enums.ParseMode" = None
):
reply_to = None
reply_to_chat = None
if reply_to_message_id or message_thread_id:
text, entities = (await parse_text_entities(client, quote_text, parse_mode, quote_entities)).values()
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
quote_text=text,
quote_entities=entities
)
if reply_to_story_id:
user_id = await client.resolve_peer(chat_id)