先区分内容种类
普通 emoji 是文本;自定义 emoji 通过实体关联文档;贴纸有静态、动画和视频格式;Telegram 中常见的 GIF 内容实际上使用无声视频表示。不能把它们都当作 PNG 图片,也不能把自定义 emoji ID 当成 Unicode 字符。
单独发送的动画 emoji、骰子和消息回应是不同机制。骰子结果由服务端提供,客户端应展示对应结果,不能自行随机生成一个结果替代。
表情面板与可用性
分类接口按贴纸、状态或其他用途有所区别;关键词也支持语言与增量更新。Premium、聊天允许的回应和当前配置会影响可用集合。能显示收到的效果,不等于当前账号有权发送同样内容。
自定义 emoji 的实体需要正确覆盖对应文本,偏移计算可参考 文本格式指南。
回应与效果不等于新消息
回应会改变消息的回应集合与相关未读状态;消息效果则附着在发送内容上。两者各自有列表、缓存及更新规则。不要每次进入聊天就无条件重新下载所有动画。
性能与无障碍建议
先显示静态预览,只播放可见区域的动画。缓存使用稳定资源身份并设置容量上限;文件失效时按文件引用规则刷新。为加载失败保留普通 emoji 或文字后备,支持系统减少动态效果设置。标签、搜索和键盘操作仍应可用。
这篇按功能拆解接入选择;各格式尺寸、帧率和播放行为,请以页首对应官方章节为准。