diff --git a/CHANGES/1496.bugfix.rst b/CHANGES/1496.bugfix.rst new file mode 100644 index 00000000..02d44dbf --- /dev/null +++ b/CHANGES/1496.bugfix.rst @@ -0,0 +1 @@ +Fixed wrong :code:`MarkdownV2` custom emoji parsing in :code:`aiogram.utils.text_decorations` diff --git a/aiogram/utils/text_decorations.py b/aiogram/utils/text_decorations.py index 58d6c0f4..ae6227d3 100644 --- a/aiogram/utils/text_decorations.py +++ b/aiogram/utils/text_decorations.py @@ -253,7 +253,7 @@ class MarkdownDecoration(TextDecoration): return re.sub(pattern=self.MARKDOWN_QUOTE_PATTERN, repl=r"\\\1", string=value) def custom_emoji(self, value: str, custom_emoji_id: str) -> str: - return self.link(value=value, link=f"tg://emoji?id={custom_emoji_id}") + return f'!{self.link(value=value, link=f"tg://emoji?id={custom_emoji_id}")}' def blockquote(self, value: str) -> str: return "\n".join(f">{line}" for line in value.splitlines()) diff --git a/tests/test_utils/test_text_decorations.py b/tests/test_utils/test_text_decorations.py index 6a177ab3..2696f078 100644 --- a/tests/test_utils/test_text_decorations.py +++ b/tests/test_utils/test_text_decorations.py @@ -99,7 +99,7 @@ class TestTextDecoration: [ markdown_decoration, MessageEntity(type="custom_emoji", offset=0, length=5, custom_emoji_id="42"), - "[test](tg://emoji?id=42)", + "![test](tg://emoji?id=42)", ], [ markdown_decoration,