diff --git a/aiogram/methods/answer_inline_query.py b/aiogram/methods/answer_inline_query.py index 95c9b66d..78f1de60 100644 --- a/aiogram/methods/answer_inline_query.py +++ b/aiogram/methods/answer_inline_query.py @@ -37,5 +37,11 @@ class AnswerInlineQuery(TelegramMethod[bool]): def build_request(self, bot: Bot) -> Request: data: Dict[str, Any] = self.dict() - prepare_parse_mode(bot, data["results"]) + + input_message_contents = [] + for result in data["results"]: + if result.get("input_message_content", None) is not None: + input_message_contents.append(result.get("input_message_content")) + + prepare_parse_mode(bot, data["results"] + input_message_contents) return Request(method="answerInlineQuery", data=data) diff --git a/tests/test_api/test_methods/test_answer_inline_query.py b/tests/test_api/test_methods/test_answer_inline_query.py index 6b15cb8c..44568a93 100644 --- a/tests/test_api/test_methods/test_answer_inline_query.py +++ b/tests/test_api/test_methods/test_answer_inline_query.py @@ -2,7 +2,7 @@ import pytest from aiogram import Bot from aiogram.methods import AnswerInlineQuery, Request -from aiogram.types import InlineQueryResult, InlineQueryResultPhoto +from aiogram.types import InlineQueryResult, InlineQueryResultPhoto, InputTextMessageContent from tests.mocked_bot import MockedBot pytestmark = pytest.mark.asyncio @@ -40,3 +40,20 @@ class TestAnswerInlineQuery: new_bot = Bot(token="42:TEST", parse_mode="HTML") request = query.build_request(new_bot) assert request.data["results"][0]["parse_mode"] == "HTML" + + def test_parse_mode_input_message_content(self, bot: MockedBot): + query = AnswerInlineQuery( + inline_query_id="query id", + results=[InlineQueryResultPhoto( + id="result id", + photo_url="photo", + thumb_url="thumb", + input_message_content=InputTextMessageContent(message_text="test") + )], + ) + request = query.build_request(bot) + assert request.data["results"][0]["input_message_content"]["parse_mode"] is None + + new_bot = Bot(token="42:TEST", parse_mode="HTML") + request = query.build_request(new_bot) + assert request.data["results"][0]["input_message_content"]["parse_mode"] == "HTML"