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