Telegram 在服务端悄咪咪引入了一个 breaking change,且对旧 layer(旧客户端会声明旧 layer,服务端由此提供向后兼容性) 也生效。具体而言,不再允许长度为 0 的
MessageEntity,否则抛出
ENTITY_BOUNDS_INVALID(该错误未被列于
Possible errors)。
大部分图形客户端实现一般都不太可能产生长度为 0 的
MessageEntity,HTTP Bot API 更是会主动过滤,因此基本不受影响。但一些自带 HTML/Markdown 解析器的流行的 MTProto API 库可能受到影响:已知 Telethon 的解析器不过滤空标签,因此会产生长度为 0 的
MessageEntity(已在
#3885 中修复);pyrogram 同样有此问题,也已
修复。如果不使用自带解析器而手动提供
MessageEntity,则更需留意可能需要手动执行过滤。
详情可见:
https://github.com/LonamiWebs/Telethon/issues/3884
core.telegram.org
MessageEntity
Message entities, representing styled text in a message