diff --git a/pyrogram/methods/bots/send_inline_bot_result.py b/pyrogram/methods/bots/send_inline_bot_result.py
index c827b973..52afcc81 100644
--- a/pyrogram/methods/bots/send_inline_bot_result.py
+++ b/pyrogram/methods/bots/send_inline_bot_result.py
@@ -17,10 +17,10 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Pyrofork. If not, see .
-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(
diff --git a/pyrogram/methods/messages/send_animation.py b/pyrogram/methods/messages/send_animation.py
index 3ffa546d..a279d38f 100644
--- a/pyrogram/methods/messages/send_animation.py
+++ b/pyrogram/methods/messages/send_animation.py
@@ -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:
diff --git a/pyrogram/methods/messages/send_audio.py b/pyrogram/methods/messages/send_audio.py
index e46314f4..c03c6883 100644
--- a/pyrogram/methods/messages/send_audio.py
+++ b/pyrogram/methods/messages/send_audio.py
@@ -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:
diff --git a/pyrogram/methods/messages/send_cached_media.py b/pyrogram/methods/messages/send_cached_media.py
index 77094c74..6954a937 100644
--- a/pyrogram/methods/messages/send_cached_media.py
+++ b/pyrogram/methods/messages/send_cached_media.py
@@ -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)
diff --git a/pyrogram/methods/messages/send_contact.py b/pyrogram/methods/messages/send_contact.py
index 4cbace44..d1f9ebf6 100644
--- a/pyrogram/methods/messages/send_contact.py
+++ b/pyrogram/methods/messages/send_contact.py
@@ -18,10 +18,10 @@
# along with Pyrofork. If not, see .
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(
diff --git a/pyrogram/methods/messages/send_dice.py b/pyrogram/methods/messages/send_dice.py
index 1f0c840f..03e86b71 100644
--- a/pyrogram/methods/messages/send_dice.py
+++ b/pyrogram/methods/messages/send_dice.py
@@ -18,10 +18,10 @@
# along with Pyrofork. If not, see .
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(
diff --git a/pyrogram/methods/messages/send_document.py b/pyrogram/methods/messages/send_document.py
index 4deb0bd1..30b7d0fa 100644
--- a/pyrogram/methods/messages/send_document.py
+++ b/pyrogram/methods/messages/send_document.py
@@ -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:
diff --git a/pyrogram/methods/messages/send_location.py b/pyrogram/methods/messages/send_location.py
index 323cb03c..714d8d28 100644
--- a/pyrogram/methods/messages/send_location.py
+++ b/pyrogram/methods/messages/send_location.py
@@ -18,10 +18,10 @@
# along with Pyrofork. If not, see .
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(
diff --git a/pyrogram/methods/messages/send_media_group.py b/pyrogram/methods/messages/send_media_group.py
index 9d913e0a..7a58c3f4 100644
--- a/pyrogram/methods/messages/send_media_group.py
+++ b/pyrogram/methods/messages/send_media_group.py
@@ -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:
diff --git a/pyrogram/methods/messages/send_message.py b/pyrogram/methods/messages/send_message.py
index 0e918054..9edba293 100644
--- a/pyrogram/methods/messages/send_message.py
+++ b/pyrogram/methods/messages/send_message.py
@@ -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(
diff --git a/pyrogram/methods/messages/send_photo.py b/pyrogram/methods/messages/send_photo.py
index d62a1759..d6925e0e 100644
--- a/pyrogram/methods/messages/send_photo.py
+++ b/pyrogram/methods/messages/send_photo.py
@@ -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:
diff --git a/pyrogram/methods/messages/send_poll.py b/pyrogram/methods/messages/send_poll.py
index 9e89dc47..c0a1ef03 100644
--- a/pyrogram/methods/messages/send_poll.py
+++ b/pyrogram/methods/messages/send_poll.py
@@ -18,7 +18,7 @@
# along with Pyrofork. If not, see .
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(
diff --git a/pyrogram/methods/messages/send_sticker.py b/pyrogram/methods/messages/send_sticker.py
index 847df01c..fd73517f 100644
--- a/pyrogram/methods/messages/send_sticker.py
+++ b/pyrogram/methods/messages/send_sticker.py
@@ -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:
diff --git a/pyrogram/methods/messages/send_venue.py b/pyrogram/methods/messages/send_venue.py
index 041264a6..5557937b 100644
--- a/pyrogram/methods/messages/send_venue.py
+++ b/pyrogram/methods/messages/send_venue.py
@@ -18,10 +18,10 @@
# along with Pyrofork. If not, see .
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(
diff --git a/pyrogram/methods/messages/send_video.py b/pyrogram/methods/messages/send_video.py
index 64995257..4658b882 100644
--- a/pyrogram/methods/messages/send_video.py
+++ b/pyrogram/methods/messages/send_video.py
@@ -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:
diff --git a/pyrogram/methods/messages/send_video_note.py b/pyrogram/methods/messages/send_video_note.py
index 779fbbbe..47e7beff 100644
--- a/pyrogram/methods/messages/send_video_note.py
+++ b/pyrogram/methods/messages/send_video_note.py
@@ -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:
diff --git a/pyrogram/methods/messages/send_voice.py b/pyrogram/methods/messages/send_voice.py
index a985d0cf..b407731e 100644
--- a/pyrogram/methods/messages/send_voice.py
+++ b/pyrogram/methods/messages/send_voice.py
@@ -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:
diff --git a/pyrogram/methods/messages/send_web_page.py b/pyrogram/methods/messages/send_web_page.py
index 67ca2436..3d2565e9 100644
--- a/pyrogram/methods/messages/send_web_page.py
+++ b/pyrogram/methods/messages/send_web_page.py
@@ -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(
diff --git a/pyrogram/types/input_message_content/input_reply_to_message.py b/pyrogram/types/input_message_content/input_reply_to_message.py
index 1e1a0098..8d0b5667 100644
--- a/pyrogram/types/input_message_content/input_reply_to_message.py
+++ b/pyrogram/types/input_message_content/input_reply_to_message.py
@@ -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
diff --git a/pyrogram/types/messages_and_media/message.py b/pyrogram/types/messages_and_media/message.py
index 83202612..131a131e 100644
--- a/pyrogram/types/messages_and_media/message.py
+++ b/pyrogram/types/messages_and_media/message.py
@@ -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
diff --git a/pyrogram/utils.py b/pyrogram/utils.py
index fe04f2b2..853d9a8a 100644
--- a/pyrogram/utils.py
+++ b/pyrogram/utils.py
@@ -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)