You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telethon Client无法发送高级表情符号的问题及HTML模式下正确实现方法咨询

Telethon Client无法发送高级表情符号的问题及HTML模式下正确实现方法咨询

嗨,我来帮你分析下这个问题哈!

你遇到的情况是因为Telethon默认的HTML解析器并不识别<tg-emoji>这个标签,所以它会直接忽略掉emoji-id属性,只渲染标签里的普通表情符号,这就是为什么发送出去的是普通的☝️而不是你想要的高级表情。

接下来给你两种HTML模式下的正确实现方法:

方法一:使用Telethon支持的<emoji>标签

Telethon的HTML解析器支持<emoji>标签来识别高级表情,只需要把你原来的<tg-emoji>换成<emoji>就可以了,代码示例如下:

await client.send_message(
        entity="me",
        message='<emoji id="5301096984617166561">☝️</emoji>',
        parse_mode="html"
    )

方法二:手动构造自定义表情实体

如果你的Telethon版本比较旧,上面的方法不生效,可以手动构造MessageEntityCustomEmoji实体,通过entities参数传入,代码示例:

from telethon.tl.types import MessageEntityCustomEmoji

await client.send_message(
        entity="me",
        message='☝️',
        entities=[MessageEntityCustomEmoji(offset=0, length=1, document_id=5301096984617166561)]
    )

另外要注意,建议先把你的Telethon升级到最新版本,因为高级表情的相关支持是在后续版本中新增的,升级命令:

pip install --upgrade telethon

备注:内容来源于stack exchange,提问作者tegularis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 12:28:01