Skip to content

Commit

Permalink
Support previous arguments for BC #20400
Browse files Browse the repository at this point in the history
disable_web_page_preview=True -> link_preview_options=LinkPreviewOptions(is_disabled=True)
reply_to_message_id=1 -> ReplyParameters(message_id=1)
  • Loading branch information
SpEcHiDe committed Apr 20, 2024
1 parent 087d5f2 commit fb118f9
Show file tree
Hide file tree
Showing 6 changed files with 98 additions and 10 deletions.
18 changes: 17 additions & 1 deletion pyrogram/methods/messages/edit_inline_text.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.

import logging
from typing import Optional, List

import pyrogram
Expand All @@ -24,6 +25,8 @@
from pyrogram import utils
from .inline_session import get_session

log = logging.getLogger(__name__)


class EditInlineText:
async def edit_inline_text(
Expand All @@ -33,7 +36,8 @@ async def edit_inline_text(
parse_mode: Optional["enums.ParseMode"] = None,
entities: List["types.MessageEntity"] = None,
link_preview_options: "types.LinkPreviewOptions" = None,
reply_markup: "types.InlineKeyboardMarkup" = None
reply_markup: "types.InlineKeyboardMarkup" = None,
disable_web_page_preview: bool = None
) -> bool:
"""Edit the text of inline messages.
Expand Down Expand Up @@ -78,6 +82,18 @@ async def edit_inline_text(
)
)
"""
if disable_web_page_preview and link_preview_options:
raise ValueError(
"Parameters `disable_web_page_preview` and `link_preview_options` are mutually "
"exclusive."
)

if disable_web_page_preview is not None:
log.warning(
"This property is deprecated. "
"Please use link_preview_options instead"
)
link_preview_options = types.LinkPreviewOptions(is_disabled=disable_web_page_preview)

unpacked = utils.unpack_inline_message_id(inline_message_id)
dc_id = unpacked.dc_id
Expand Down
18 changes: 17 additions & 1 deletion pyrogram/methods/messages/edit_message_text.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.

import logging
from datetime import datetime
from typing import Union, List, Optional

import pyrogram
from pyrogram import raw, enums, types, utils

log = logging.getLogger(__name__)


class EditMessageText:
async def edit_message_text(
Expand All @@ -33,7 +36,8 @@ async def edit_message_text(
entities: List["types.MessageEntity"] = None,
link_preview_options: "types.LinkPreviewOptions" = None,
reply_markup: "types.InlineKeyboardMarkup" = None,
schedule_date: datetime = None
schedule_date: datetime = None,
disable_web_page_preview: bool = None
) -> "types.Message":
"""Edit the text of messages.
Expand Down Expand Up @@ -84,6 +88,18 @@ async def edit_message_text(
)
)
"""
if disable_web_page_preview and link_preview_options:
raise ValueError(
"Parameters `disable_web_page_preview` and `link_preview_options` are mutually "
"exclusive."
)

if disable_web_page_preview is not None:
log.warning(
"This property is deprecated. "
"Please use link_preview_options instead"
)
link_preview_options = types.LinkPreviewOptions(is_disabled=disable_web_page_preview)

r = await self.invoke(
raw.functions.messages.EditMessage(
Expand Down
32 changes: 31 additions & 1 deletion pyrogram/methods/messages/send_message.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,16 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.

import logging
from datetime import datetime
from typing import Union, List, Optional

import pyrogram
from pyrogram import raw, utils, enums, types, errors
from .inline_session import get_session

log = logging.getLogger(__name__)


class SendMessage:
async def send_message(
Expand All @@ -43,7 +46,9 @@ async def send_message(
"types.ReplyKeyboardRemove",
"types.ForceReply"
] = None,
schedule_date: datetime = None
schedule_date: datetime = None,
disable_web_page_preview: bool = None,
reply_to_message_id: int = None
) -> "types.Message":
"""Send text messages.
Expand Down Expand Up @@ -132,6 +137,31 @@ async def send_message(
[InlineKeyboardButton("Docs", url="https://docs.pyrogram.org")]
]))
"""
if disable_web_page_preview and link_preview_options:
raise ValueError(
"Parameters `disable_web_page_preview` and `link_preview_options` are mutually "
"exclusive."
)

if disable_web_page_preview is not None:
log.warning(
"This property is deprecated. "
"Please use link_preview_options instead"
)
link_preview_options = types.LinkPreviewOptions(is_disabled=disable_web_page_preview)

if reply_to_message_id and reply_parameters:
raise ValueError(
"Parameters `reply_to_message_id` and `reply_parameters` are mutually "
"exclusive."
)

if reply_to_message_id is not None:
log.warning(
"This property is deprecated. "
"Please use reply_parameters instead"
)
reply_parameters = types.ReplyParameters(message_id=reply_to_message_id)

reply_to = await utils.get_reply_head_fm(
self,
Expand Down
9 changes: 6 additions & 3 deletions pyrogram/types/bots_and_keyboards/callback_query.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,8 @@ async def edit_message_text(
parse_mode: Optional["enums.ParseMode"] = None,
entities: List["types.MessageEntity"] = None,
link_preview_options: "types.LinkPreviewOptions" = None,
reply_markup: "types.InlineKeyboardMarkup" = None
reply_markup: "types.InlineKeyboardMarkup" = None,
disable_web_page_preview: bool = None
) -> Union["types.Message", bool]:
"""Edit the text of messages attached to callback queries.
Expand Down Expand Up @@ -224,7 +225,8 @@ async def edit_message_text(
parse_mode=parse_mode,
entities=entities,
link_preview_options=link_preview_options,
reply_markup=reply_markup
reply_markup=reply_markup,
disable_web_page_preview=disable_web_page_preview
)
else:
return await self._client.edit_inline_text(
Expand All @@ -233,7 +235,8 @@ async def edit_message_text(
parse_mode=parse_mode,
entities=entities,
link_preview_options=link_preview_options,
reply_markup=reply_markup
reply_markup=reply_markup,
disable_web_page_preview=disable_web_page_preview
)

async def edit_message_caption(
Expand Down
17 changes: 17 additions & 0 deletions pyrogram/types/input_message_content/input_text_message_content.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.

import logging
from typing import Optional, List

import pyrogram
from pyrogram import raw, types, utils, enums
from .input_message_content import InputMessageContent

log = logging.getLogger(__name__)


class InputTextMessageContent(InputMessageContent):
"""Content of a text message to be sent as the result of an inline query.
Expand All @@ -47,7 +50,21 @@ def __init__(
parse_mode: Optional["enums.ParseMode"] = None,
entities: List["types.MessageEntity"] = None,
link_preview_options: "types.LinkPreviewOptions" = None,
disable_web_page_preview: bool = None
):
if disable_web_page_preview and link_preview_options:
raise ValueError(
"Parameters `disable_web_page_preview` and `link_preview_options` are mutually "
"exclusive."
)

if disable_web_page_preview is not None:
log.warning(
"This property is deprecated. "
"Please use link_preview_options instead"
)
link_preview_options = types.LinkPreviewOptions(is_disabled=disable_web_page_preview)

super().__init__()

self.message_text = message_text
Expand Down
14 changes: 10 additions & 4 deletions pyrogram/types/messages_and_media/message.py
Original file line number Diff line number Diff line change
Expand Up @@ -1310,7 +1310,9 @@ async def reply_text(
"types.ReplyKeyboardRemove",
"types.ForceReply"
] = None,
schedule_date: datetime = None
schedule_date: datetime = None,
disable_web_page_preview: bool = None,
reply_to_message_id: int = None
) -> "Message":
"""Bound method *reply_text* of :obj:`~pyrogram.types.Message`.
Expand Down Expand Up @@ -1395,7 +1397,9 @@ async def reply_text(
business_connection_id=self.business_connection_id,
reply_parameters=reply_parameters,
reply_markup=reply_markup,
schedule_date=schedule_date
schedule_date=schedule_date,
disable_web_page_preview=disable_web_page_preview,
reply_to_message_id=reply_to_message_id
)

reply = reply_text
Expand Down Expand Up @@ -3461,7 +3465,8 @@ async def edit_text(
parse_mode: Optional["enums.ParseMode"] = None,
entities: List["types.MessageEntity"] = None,
link_preview_options: "types.LinkPreviewOptions" = None,
reply_markup: "types.InlineKeyboardMarkup" = None
reply_markup: "types.InlineKeyboardMarkup" = None,
disable_web_page_preview: bool = None
) -> "Message":
"""Bound method *edit_text* of :obj:`~pyrogram.types.Message`.
Expand Down Expand Up @@ -3513,7 +3518,8 @@ async def edit_text(
parse_mode=parse_mode,
entities=entities,
link_preview_options=link_preview_options,
reply_markup=reply_markup
reply_markup=reply_markup,
disable_web_page_preview=disable_web_page_preview
)

edit = edit_text
Expand Down

0 comments on commit fb118f9

Please sign in to comment.