开发文档

Telegram 文本格式、提及与草稿

正确处理 UTF-16 文本偏移、emoji、用户提及与多设备草稿,避免 Telegram 消息格式错位。

GetTGAPI 编辑团队更新于
文档解读核对日期

依据官方资料整理,由 GetTGAPI 独立维护。 文档目录与术语表 →

本页内容
  1. emoji 会影响文本偏移
  2. 提及不只依赖用户名
  3. 草稿会在设备间同步
  4. 编辑器实现建议

emoji 会影响文本偏移

实体的 offset 和 length 按 UTF-16 代码单元计算,消息字符串传输编码则是另一回事。不要用 UTF-8 字节长度或视觉上看到的字符个数代替。尤其是 emoji 和组合字符,格式边界需要经过测试。

产品应先解析受支持的格式,再生成实体;不要把客户输入的 HTML 当作可信页面执行。

提及不只依赖用户名

消息实体支持按用户名和按用户身份提及。未读提及有独立计数与已读操作,不能简单等同于整段聊天的未读数量。

草稿会在设备间同步

草稿通过保存、更新和清除动作同步;发送时是否清除草稿,应与对应发送动作协调。媒体说明也可能从草稿开始编辑。

编辑器实现建议

用包含中文、emoji、换行、链接和多段格式的样例测试发送及回读。发送失败时保留草稿;切换账号时隔离草稿缓存。界面显示“已发送”前,应区分输入框清空与实际发送成功,避免丢失用户尚未提交的内容。