diff --git a/changes/unreleased/5268.GKZnfBkMcLqBC4rTgznsnY.toml b/changes/unreleased/5268.GKZnfBkMcLqBC4rTgznsnY.toml new file mode 100644 index 000000000..bc42396ec --- /dev/null +++ b/changes/unreleased/5268.GKZnfBkMcLqBC4rTgznsnY.toml @@ -0,0 +1,5 @@ +bugfixes = "Fixed ``parse_lpo_and_dwpp`` silently overwriting ``link_preview_options`` when ``disable_web_page_preview=False``." +[[pull_requests]] +uid = "5268" +author_uids = ["JSap0914"] +closes_threads = [] diff --git a/src/telegram/_utils/argumentparsing.py b/src/telegram/_utils/argumentparsing.py index 240b43ea6..7e5a3e34a 100644 --- a/src/telegram/_utils/argumentparsing.py +++ b/src/telegram/_utils/argumentparsing.py @@ -86,7 +86,7 @@ def parse_lpo_and_dwpp( """Wrapper around warn_about_deprecated_arg_return_new_arg. Takes care of converting disable_web_page_preview to LinkPreviewOptions. """ - if disable_web_page_preview and link_preview_options: + if disable_web_page_preview is not None and link_preview_options: raise ValueError( "Parameters `disable_web_page_preview` and `link_preview_options` are mutually " "exclusive." diff --git a/tests/_inline/test_inputtextmessagecontent.py b/tests/_inline/test_inputtextmessagecontent.py index 252fbda74..da2132823 100644 --- a/tests/_inline/test_inputtextmessagecontent.py +++ b/tests/_inline/test_inputtextmessagecontent.py @@ -97,6 +97,11 @@ class TestInputTextMessageContentWithoutRequest(InputTextMessageContentTestBase) InputTextMessageContent( "text", disable_web_page_preview=True, link_preview_options=LinkPreviewOptions() ) + # disable_web_page_preview=False is also an explicit value and must conflict + with pytest.raises(ValueError, match="`link_preview_options` are mutually exclusive"): + InputTextMessageContent( + "text", disable_web_page_preview=False, link_preview_options=LinkPreviewOptions() + ) def test_disable_web_page_preview_deprecation(self): itmc = InputTextMessageContent("text", disable_web_page_preview=True)