Fix HtmlDecoration attribute name for custom emoji method (#1782)

This commit is contained in:
Sergey Maranchuk 2026-03-03 14:28:26 +02:00
parent 3e2ca5b6b0
commit b95cafb6b5
No known key found for this signature in database
GPG key ID: 4DB6FE8E8FDB9ED4
4 changed files with 4 additions and 3 deletions

1
CHANGES/1782.bugfix.rst Normal file
View file

@ -0,0 +1 @@
Fixed ``HtmlDecoration.custom_emoji()`` to use the correct ``emoji-id`` attribute name instead of ``emoji_id`` in the ``<tg-emoji>`` tag, matching the Telegram Bot API specification.

View file

@ -265,7 +265,7 @@ class HtmlDecoration(TextDecoration):
return html.escape(value, quote=False)
def custom_emoji(self, value: str, custom_emoji_id: str) -> str:
return self._tag(self.EMOJI_TAG, value, attrs={"emoji_id": custom_emoji_id})
return self._tag(self.EMOJI_TAG, value, attrs={"emoji-id": custom_emoji_id})
def blockquote(self, value: str) -> str:
return self._tag(self.BLOCKQUOTE_TAG, value)

View file

@ -108,7 +108,7 @@ class TestNode:
],
[
CustomEmoji("test", custom_emoji_id="42"),
'<tg-emoji emoji_id="42">test</tg-emoji>',
'<tg-emoji emoji-id="42">test</tg-emoji>',
],
[
BlockQuote("test"),

View file

@ -59,7 +59,7 @@ class TestTextDecoration:
[
html_decoration,
MessageEntity(type="custom_emoji", offset=0, length=5, custom_emoji_id="42"),
'<tg-emoji emoji_id="42">test</tg-emoji>',
'<tg-emoji emoji-id="42">test</tg-emoji>',
],
[
html_decoration,