Telegram 只导近期聊天:日期设置与 HTML、JSON 怎么选

文章目录
  1. 只导一个聊天,从聊天菜单进去
  2. 设置时间时,别把结束日期少选一天
  3. HTML 和 JSON,按后续怎么用来选
  4. 只要文字,就把媒体逐项关掉
  5. 下次少做重复工作,留一张进度表

只想保存某个 Telegram 聊天最近几天的记录,可以在 Telegram Desktop 的单个聊天里导出,设置起止时间,不用每次都从账号设置导出所有聊天。只看文字时,把照片、视频、文件等媒体选项关掉,导出内容会更精简。

自己翻看选 HTML;后续要筛选、统计或合并记录,选 JSON。定期整理时,还要自己记下上次导到了哪里,下次留一点重叠,再去掉重复消息。客户端的日期筛选不会替你维护这份进度。

以下菜单和范围依据 2026 年 11 月 6 日核对的 Telegram 官方说明及 Desktop 7.4.0 源码整理,没有用真实聊天做导出实验。不同版本、语言包的按钮名称可能略有差别。

只导一个聊天,从聊天菜单进去

在 Telegram Desktop 打开需要保存的聊天,点右上角的三点菜单,找“导出聊天记录”(Export chat history)。这个入口适合只处理某个群、频道或对话。

另一个入口是“设置 → 高级 → 导出 Telegram 数据”(Settings → Advanced → Export Telegram data)。它面向账号资料和多类聊天的导出,范围更广。当前核对版本的日期、时间控件放在单个聊天的导出窗口里,不能把两个窗口当成同一套选项。

账号级导出还要留意“仅我的消息”(Only my messages):核对版本中,公共群和公共频道的这项限制会固定勾选。需要看完整的近期讨论时,应从目标聊天的导出入口检查范围,不能把账号级结果直接当成群里的全部消息。

这套说明针对 Telegram Desktop。手机和网页版不能直接照着找这些菜单;Mac 用户也要核对自己使用的是 Telegram Desktop,不能把不同客户端的界面混用。

设置时间时,别把结束日期少选一天

进入单聊天导出窗口后,可以按这个顺序设置:

  1. 在底部找到“从……到……”(From / To),把“最早的消息”改成所需的开始日期。
  2. 结束位置可以保留“现在”,也可以设一个固定截止时间。固定截止更方便下次核对。
  3. 当前核对的 7.4.0 源码还提供时间选择;界面显示日期后的时间时,可以继续调整。若你的版本只显示日期,就按整天取范围,再在导出文件里筛选。
  4. 选好格式、媒体和保存位置,再开始导出。

结束时间是不包含的边界。 按核对版本的筛选实现,要保存 11 月 5 日整天,应从“11 月 5 日 00:00”到“11 月 6 日 00:00”。不要把起止都设成 11 月 5 日,就以为已经包含这一天。

每次最好顺手记下电脑时区。换电脑或改过时区后,别只靠“昨天”“今天”判断两批记录是否接上;需要精确比较时,可以使用 JSON 里的 date_unixtime,它用时间戳表示发送时间。

设了近期范围,也不等于客户端只会处理同样数量的消息。官方仓库的历史解释区分了“处理进度”和“实际写进文件的消息”。因此,看见很大的进度总数时,先等导出结束,再检查结果的日期,不能仅凭进度条认定日期筛选失效,也不能保证缩短日期后一定很快。

HTML 和 JSON,按后续怎么用来选

你准备怎么用 选什么 拿到后怎么处理
离线翻看、搜索某段对话 HTML 用浏览器打开导出的页面
交给脚本筛日期、合并、统计 JSON 读取结构化字段,不必从网页里提取文字
既要人工核对,又要后续处理 HTML 和 JSON 核对版本支持同时导出两种格式

JSON 只是文件格式,不会自动去重,也不会自动接着上一次导出。当前输出中,普通消息有 id、date、date_unixtime 等字段;存在编辑记录时,还可能有 edited 和 edited_unixtime。少数无法识别内容的条目可能只有 id 和 type,脚本要允许字段缺失。消息 ID 要和所属聊天一起看,不能把不同聊天里相同的数字当成同一条消息。

交给脚本处理时,也别假定 text 永远是一整段字符串:带格式的文字可能包含多段文字和对象。直接把它当字符串,容易漏掉链接文字或其他片段。

HTML 更适合人看,但导出结果可能还包含样式和媒体子目录。保存或挪动时保留整个导出文件夹,别只拷出一个 HTML 文件,否则图片、附件或页面样式可能找不到原来的相对路径。

只要文字,就把媒体逐项关掉

导出窗口把照片、视频、语音、视频消息、贴纸、GIF 和文件分开列出。只整理近期文字时,逐项取消这些勾选;确实需要看截图,再保留照片。不要只关“文件”,却让视频和照片继续下载。

大小上限也不是“整个导出包最多多大”,它限制的是要下载的单个文件。把上限调小,不会因此把聊天范围变成近期。

附件没有下载,和消息没有导出,是两回事。文本中仍可能保留附件位置或未包含的提示。验收时分别看消息日期、文字和实际媒体文件,不能因为图片打不开,就判定整条消息都丢了。

下次少做重复工作,留一张进度表

对于每周整理一次近期聊天的需求,可以给每个聊天单独记一行:聊天身份、导出范围、电脑时区、导出完成时间、实际最早和最晚消息时间、最后一条消息 ID,以及文件夹位置。有话题分区的群,还要写明处理的是整个聊天还是某个话题。

这份“已经处理到哪里”的记录,也常被叫作水位。它是本地整理记录,不是 Telegram 导出窗口里的官方增量开关。

例如,你已保存到 11 月 5 日,下一次可以从 11 月 5 日重新导到新的截止时间,让两批记录重叠一天。重叠长度按整理频率决定;一天只是一个便于操作的例子,不是官方要求。

合并时,按“聊天身份+消息 ID”检查重复。JSON 的聊天层也有一个 id,别和消息自己的 id 混淆,也别只凭群名对齐。同一条消息内容未变,就保留一份;内容或编辑时间变了,记录为更新。这里需要自己的脚本或整理工具完成,不能只把多个 result.json 文件首尾拼起来,也不要只按文字去重——不同人可能真的发过相同的话。

重叠能补查边界附近的记录,却不能保证发现所有旧消息变化。按发送时间导出近期范围时,更早的消息后来被编辑,不一定会进入这次结果;旧文件里有、这次文件里没有,也不足以判断那条消息已经删除。需要核对旧内容时,应另外检查相应时段。

每次导出都放进新文件夹,保留上一次原件。等这次文件能正常打开、聊天身份正确、首末消息时间符合预期、重叠部分能对上,再更新进度表。导出中断或范围不对时,沿用上次成功的位置,别把失败的一轮记成已经完成。