开发文档

Telegram TL 语言、类型与序列化

理解 TL 构造器、方法、flags、Vector 与字节编码,为 Telegram schema 阅读和代码生成建立基础。

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

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

本页内容
  1. 构造器、类型与方法分别是什么
  2. 条件字段不是普通可空值
  3. 代码生成建议

构造器、类型与方法分别是什么

TL schema 描述对象结构与函数。构造器标识、结果类型和字段名各有意义;方法与类型区段由 schema 标记区分。不要只根据名称首字母猜测整条声明的用途。

条件字段不是普通可空值

flags 控制字段是否出现,序列化时需要与实际字段保持一致。Vector、多态和 bare/boxed 表示又有各自规则;JSON 中省略字段的做法不能直接套用到二进制编码。

代码生成建议

以固定 schema 生成绑定,保留原始字段名和类型。给编码器加入边界、可选字段组合和往返校验;用对应官方样例核对,不仅测试自己编码再由自己解码。

遇到新增构造器时记录未知版本并按库能力处理,不将未识别对象随意解释成旧类型。正式实现还应阅读组合子和多态的完整定义,本文提供的是阅读路线。