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 # You should have received a copy of the GNU Lesser General Public License
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from typing import Union from typing import List, Union, Optional
import pyrogram import pyrogram
from pyrogram import raw, types, utils from pyrogram import enums, raw, types, utils
class SendInlineBotResult: class SendInlineBotResult:
@ -32,7 +32,9 @@ class SendInlineBotResult:
disable_notification: bool = None, disable_notification: bool = None,
message_thread_id: int = None, message_thread_id: int = None,
reply_to_message_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": ) -> "raw.base.Updates":
"""Send an inline bot result. """Send an inline bot result.
Bot results can be retrieved using :meth:`~pyrogram.Client.get_inline_bot_results` Bot results can be retrieved using :meth:`~pyrogram.Client.get_inline_bot_results`
@ -66,6 +68,15 @@ class SendInlineBotResult:
Text to quote. Text to quote.
for reply_to_message only. 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: Returns:
:obj:`~pyrogram.raw.base.Updates`: Currently, on success, a raw result is returned. :obj:`~pyrogram.raw.base.Updates`: Currently, on success, a raw result is returned.
@ -80,7 +91,9 @@ class SendInlineBotResult:
chat_id=chat_id, chat_id=chat_id,
reply_to_message_id=reply_to_message_id, reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_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( return await self.invoke(

View file

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

View file

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

View file

@ -41,6 +41,7 @@ class SendCachedMedia:
reply_to_story_id: int = None, reply_to_story_id: int = None,
reply_to_chat_id: int = None, reply_to_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
reply_markup: Union[ reply_markup: Union[
@ -103,6 +104,10 @@ class SendCachedMedia:
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. Date when the message will be automatically sent.
@ -129,7 +134,9 @@ class SendCachedMedia:
reply_to_story_id=reply_to_story_id, reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id, message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_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) 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/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime from datetime import datetime
from typing import Union from typing import List, Union, Optional
import pyrogram import pyrogram
from pyrogram import raw, utils from pyrogram import enums, raw, utils
from pyrogram import types from pyrogram import types
@ -38,6 +38,8 @@ class SendContact:
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_to_chat_id: int = None, reply_to_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
reply_markup: Union[ reply_markup: Union[
@ -88,6 +90,15 @@ class SendContact:
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. Date when the message will be automatically sent.
@ -113,7 +124,9 @@ class SendContact:
reply_to_message_id=reply_to_message_id, reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id, message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_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( r = await self.invoke(

View file

@ -18,10 +18,10 @@
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime from datetime import datetime
from typing import Union, Optional from typing import List, Union, Optional
import pyrogram import pyrogram
from pyrogram import raw, utils from pyrogram import enums, raw, utils
from pyrogram import types from pyrogram import types
@ -36,6 +36,8 @@ class SendDice:
reply_to_story_id: int = None, reply_to_story_id: int = None,
reply_to_chat_id: int = None, reply_to_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
reply_markup: Union[ reply_markup: Union[
@ -84,6 +86,15 @@ class SendDice:
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. Date when the message will be automatically sent.
@ -117,7 +128,9 @@ class SendDice:
reply_to_story_id=reply_to_story_id, reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id, message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_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( r = await self.invoke(

View file

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

View file

@ -18,10 +18,10 @@
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime from datetime import datetime
from typing import Union from typing import List, Union, Optional
import pyrogram import pyrogram
from pyrogram import raw, utils from pyrogram import enums, raw, utils
from pyrogram import types from pyrogram import types
@ -36,6 +36,8 @@ class SendLocation:
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_to_chat_id: int = None, reply_to_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
reply_markup: Union[ reply_markup: Union[
@ -80,6 +82,15 @@ class SendLocation:
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. Date when the message will be automatically sent.
@ -105,7 +116,9 @@ class SendLocation:
reply_to_message_id=reply_to_message_id, reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id, message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_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( r = await self.invoke(

View file

@ -22,9 +22,10 @@ import os
import re import re
from datetime import datetime from datetime import datetime
from pymediainfo import MediaInfo from pymediainfo import MediaInfo
from typing import Union, List from typing import Union, List, Optional
import pyrogram import pyrogram
from pyrogram import enums
from pyrogram import raw from pyrogram import raw
from pyrogram import types from pyrogram import types
from pyrogram import utils from pyrogram import utils
@ -51,6 +52,8 @@ class SendMediaGroup:
reply_to_story_id: int = None, reply_to_story_id: int = None,
reply_to_chat_id: int = None, reply_to_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
) -> List["types.Message"]: ) -> List["types.Message"]:
@ -89,6 +92,15 @@ class SendMediaGroup:
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. Date when the message will be automatically sent.
@ -121,7 +133,9 @@ class SendMediaGroup:
reply_to_story_id=reply_to_story_id, reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id, message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_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: for i in media:

View file

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

View file

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

View file

@ -18,7 +18,7 @@
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime from datetime import datetime
from typing import Union, List from typing import Union, List, Optional
import pyrogram import pyrogram
from pyrogram import raw, utils from pyrogram import raw, utils
@ -47,6 +47,8 @@ class SendPoll:
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_to_chat_id: int = None, reply_to_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
@ -133,6 +135,15 @@ class SendPoll:
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. Date when the message will be automatically sent.
@ -155,7 +166,9 @@ class SendPoll:
reply_to_message_id=reply_to_message_id, reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id, message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_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( solution, solution_entities = (await utils.parse_text_entities(

View file

@ -20,10 +20,11 @@
import os import os
import re import re
from datetime import datetime from datetime import datetime
from typing import Union, BinaryIO, Optional, Callable from typing import List, Union, BinaryIO, Optional, Callable
import pyrogram import pyrogram
from pyrogram import StopTransmission from pyrogram import StopTransmission
from pyrogram import enums
from pyrogram import raw from pyrogram import raw
from pyrogram import types from pyrogram import types
from pyrogram import utils from pyrogram import utils
@ -42,6 +43,8 @@ class SendSticker:
reply_to_story_id: int = None, reply_to_story_id: int = None,
reply_to_chat_id: int = None, reply_to_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
reply_markup: Union[ reply_markup: Union[
@ -92,6 +95,15 @@ class SendSticker:
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. Date when the message will be automatically sent.
@ -147,7 +159,9 @@ class SendSticker:
reply_to_story_id=reply_to_story_id, reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id, message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_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: try:

View file

@ -18,10 +18,10 @@
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime from datetime import datetime
from typing import Union from typing import List, Union, Optional
import pyrogram import pyrogram
from pyrogram import raw, utils from pyrogram import enums, raw, utils
from pyrogram import types from pyrogram import types
@ -40,6 +40,8 @@ class SendVenue:
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_to_chat_id: int = None, reply_to_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
reply_markup: Union[ reply_markup: Union[
@ -97,6 +99,15 @@ class SendVenue:
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. Date when the message will be automatically sent.
@ -124,7 +135,9 @@ class SendVenue:
reply_to_message_id=reply_to_message_id, reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id, message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_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( r = await self.invoke(

View file

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

View file

@ -19,10 +19,11 @@
import os import os
from datetime import datetime from datetime import datetime
from typing import Union, BinaryIO, Optional, Callable from typing import List, Union, BinaryIO, Optional, Callable
import pyrogram import pyrogram
from pyrogram import StopTransmission from pyrogram import StopTransmission
from pyrogram import enums
from pyrogram import raw from pyrogram import raw
from pyrogram import types from pyrogram import types
from pyrogram import utils from pyrogram import utils
@ -44,6 +45,8 @@ class SendVideoNote:
reply_to_story_id: int = None, reply_to_story_id: int = None,
reply_to_chat_id: int = None, reply_to_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
reply_markup: Union[ reply_markup: Union[
@ -106,6 +109,15 @@ class SendVideoNote:
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. Date when the message will be automatically sent.
@ -161,7 +173,9 @@ class SendVideoNote:
reply_to_story_id=reply_to_story_id, reply_to_story_id=reply_to_story_id,
message_thread_id=message_thread_id, message_thread_id=message_thread_id,
reply_to_chat_id=reply_to_chat_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: try:

View file

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

View file

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

View file

@ -18,7 +18,7 @@
from pyrogram import raw from pyrogram import raw
from ..object import Object from ..object import Object
from typing import Union from typing import List, Union
class InputReplyToMessage(Object): class InputReplyToMessage(Object):
@ -32,6 +32,18 @@ class InputReplyToMessage(Object):
message_thread_id (``int``, *optional*): message_thread_id (``int``, *optional*):
Unique identifier for the target message thread (topic) of the forum. Unique identifier for the target message thread (topic) of the forum.
for forum supergroups only. 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__( def __init__(
@ -42,7 +54,8 @@ class InputReplyToMessage(Object):
"raw.types.InputPeerChannel", "raw.types.InputPeerChannel",
"raw.types.InputPeerUser" "raw.types.InputPeerUser"
] = None, ] = None,
quote_text: str = None quote_text: str = None,
quote_entities: List["raw.base.MessageEntity"] = None
): ):
super().__init__() super().__init__()
@ -50,6 +63,7 @@ class InputReplyToMessage(Object):
self.message_thread_id = message_thread_id self.message_thread_id = message_thread_id
self.reply_to_chat = reply_to_chat self.reply_to_chat = reply_to_chat
self.quote_text = quote_text self.quote_text = quote_text
self.quote_entities = quote_entities
def write(self): def write(self):
reply_to_msg_id = None reply_to_msg_id = None
@ -67,6 +81,7 @@ class InputReplyToMessage(Object):
reply_to_msg_id=reply_to_msg_id, reply_to_msg_id=reply_to_msg_id,
top_msg_id=top_msg_id, top_msg_id=top_msg_id,
reply_to_peer_id=self.reply_to_chat, reply_to_peer_id=self.reply_to_chat,
quote_text=self.quote_text quote_text=self.quote_text,
quote_entities=self.quote_entities
).write() ).write()
return None return None

View file

@ -1174,6 +1174,7 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_id: int = None, reply_in_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
reply_markup=None reply_markup=None
@ -1231,6 +1232,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id, reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
schedule_date=schedule_date, schedule_date=schedule_date,
protect_content=protect_content, protect_content=protect_content,
reply_markup=reply_markup reply_markup=reply_markup
@ -1305,6 +1311,7 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_id: int = None, reply_in_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
progress: Callable = None, progress: Callable = None,
progress_args: tuple = () progress_args: tuple = ()
) -> "Message": ) -> "Message":
@ -1383,6 +1390,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id, reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup, reply_markup=reply_markup,
progress=progress, progress=progress,
progress_args=progress_args progress_args=progress_args
@ -1471,6 +1483,7 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_id: int = None, reply_in_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -1552,6 +1565,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id, reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup, reply_markup=reply_markup,
progress=progress, progress=progress,
progress_args=progress_args progress_args=progress_args
@ -1634,6 +1652,7 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_id: int = None, reply_in_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -1692,6 +1711,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id, reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup reply_markup=reply_markup
) )
@ -1780,6 +1804,8 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_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,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -1837,6 +1863,15 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_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,
reply_markup=reply_markup reply_markup=reply_markup
) )
@ -1891,6 +1928,7 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_id: int = None, reply_in_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
@ -1968,6 +2006,10 @@ class Message(Object, Update):
quote_text (``str``, *optional*): quote_text (``str``, *optional*):
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id, reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
schedule_date=schedule_date, schedule_date=schedule_date,
reply_markup=reply_markup, reply_markup=reply_markup,
progress=progress, progress=progress,
@ -2123,7 +2166,9 @@ class Message(Object, Update):
quote: bool = None, quote: bool = None,
disable_notification: bool = None, disable_notification: bool = None,
reply_to_message_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
) -> "Message": ) -> "Message":
"""Bound method *reply_inline_bot_result* of :obj:`~pyrogram.types.Message`. """Bound method *reply_inline_bot_result* of :obj:`~pyrogram.types.Message`.
@ -2165,6 +2210,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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: Returns:
On success, the sent Message is returned. On success, the sent Message is returned.
@ -2200,6 +2249,8 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_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,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -2251,6 +2302,15 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_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,
reply_markup=reply_markup reply_markup=reply_markup
) )
@ -2301,7 +2363,9 @@ class Message(Object, Update):
disable_notification: bool = None, disable_notification: bool = None,
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_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"]: ) -> List["types.Message"]:
"""Bound method *reply_media_group* of :obj:`~pyrogram.types.Message`. """Bound method *reply_media_group* of :obj:`~pyrogram.types.Message`.
@ -2345,6 +2409,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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: Returns:
On success, a :obj:`~pyrogram.types.Messages` object is returned containing all the On success, a :obj:`~pyrogram.types.Messages` object is returned containing all the
single messages sent. single messages sent.
@ -2391,6 +2459,7 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_id: int = None, reply_in_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -2461,6 +2530,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id, reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup, reply_markup=reply_markup,
progress=progress, progress=progress,
progress_args=progress_args progress_args=progress_args
@ -2549,6 +2623,8 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_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,
schedule_date: datetime = None, schedule_date: datetime = None,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
@ -2644,6 +2720,15 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_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,
schedule_date=schedule_date, schedule_date=schedule_date,
reply_markup=reply_markup reply_markup=reply_markup
) )
@ -2705,6 +2792,8 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_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,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -2757,6 +2846,15 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_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,
reply_markup=reply_markup, reply_markup=reply_markup,
progress=progress, progress=progress,
progress_args=progress_args progress_args=progress_args
@ -2833,6 +2933,8 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_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,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -2899,6 +3001,15 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_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,
reply_markup=reply_markup reply_markup=reply_markup
) )
@ -2960,6 +3073,7 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_id: int = None, reply_in_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -3052,6 +3166,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id, reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup, reply_markup=reply_markup,
progress=progress, progress=progress,
progress_args=progress_args progress_args=progress_args
@ -3137,6 +3256,8 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_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,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -3201,6 +3322,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_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,
reply_markup=reply_markup, reply_markup=reply_markup,
progress=progress, progress=progress,
progress_args=progress_args progress_args=progress_args
@ -3279,6 +3406,7 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_id: int = None, reply_in_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -3344,6 +3472,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): 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, 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. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id, reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
reply_markup=reply_markup, reply_markup=reply_markup,
progress=progress, progress=progress,
progress_args=progress_args progress_args=progress_args
@ -3423,6 +3556,7 @@ class Message(Object, Update):
reply_to_message_id: int = None, reply_to_message_id: int = None,
reply_in_chat_id: int = None, reply_in_chat_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
reply_markup=None reply_markup=None
@ -3484,6 +3618,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): schedule_date (:py:obj:`~datetime.datetime`, *optional*):
Date when the message will be automatically sent. 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_message_id=reply_to_message_id,
reply_to_chat_id=reply_to_chat_id, reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
schedule_date=schedule_date, schedule_date=schedule_date,
protect_content=protect_content, protect_content=protect_content,
reply_markup=reply_markup reply_markup=reply_markup
@ -3802,6 +3941,7 @@ class Message(Object, Update):
disable_notification: bool = None, disable_notification: bool = None,
message_thread_id: int = None, message_thread_id: int = None,
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None,
reply_to_message_id: int = None, reply_to_message_id: int = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
@ -3862,6 +4002,10 @@ class Message(Object, Update):
Text to quote. Text to quote.
for reply_to_message only. 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*): reply_to_message_id (``int``, *optional*):
If the message is a reply, ID of the original message. 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, message_thread_id=message_thread_id,
reply_to_message_id=reply_to_message_id, reply_to_message_id=reply_to_message_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
schedule_date=schedule_date, schedule_date=schedule_date,
protect_content=protect_content, protect_content=protect_content,
reply_markup=self.reply_markup if reply_markup is object else reply_markup 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, message_thread_id=message_thread_id,
reply_to_message_id=reply_to_message_id, reply_to_message_id=reply_to_message_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities,
schedule_date=schedule_date, schedule_date=schedule_date,
protect_content=protect_content, protect_content=protect_content,
reply_markup=self.reply_markup if reply_markup is object else reply_markup 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, reply_to_story_id: int = None,
message_thread_id: int = None, message_thread_id: int = None,
reply_to_chat_id: Union[int,str] = 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 = None
reply_to_chat = None reply_to_chat = None
if reply_to_message_id or message_thread_id: 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: if reply_to_chat_id is not None:
reply_to_chat = await client.resolve_peer(reply_to_chat_id) reply_to_chat = await client.resolve_peer(reply_to_chat_id)
reply_to = types.InputReplyToMessage( reply_to = types.InputReplyToMessage(
reply_to_message_id=reply_to_message_id, reply_to_message_id=reply_to_message_id,
message_thread_id=message_thread_id, message_thread_id=message_thread_id,
reply_to_chat=reply_to_chat, reply_to_chat=reply_to_chat,
quote_text=quote_text quote_text=text,
quote_entities=entities
) )
if reply_to_story_id: if reply_to_story_id:
user_id = await client.resolve_peer(chat_id) user_id = await client.resolve_peer(chat_id)