telegram-history-dump与telegram-cli:打造专业的Telegram备份系统
telegram-history-dump是一款基于Ruby开发的Telegram聊天记录备份工具,它利用telegram-cli的远程控制功能,帮助用户轻松创建个人和群组对话的备份。这款工具不仅支持多种输出格式,还能实现增量备份,让你的聊天记录永不丢失。
🌟 为什么选择telegram-history-dump?
相比其他备份工具,telegram-history-dump具有以下显著优势:
- 增强的媒体下载支持:轻松保存聊天中的图片、视频等媒体文件
- 多格式输出:支持JSON、HTML、纯文本等多种格式,满足不同需求
- 增量备份:仅下载新消息,节省时间和带宽
- 独立于不稳定绑定:不依赖telegram-cli中不稳定的Python/Lua绑定
- 灵活配置:通过YAML格式的配置文件自定义备份策略
📋 准备工作:安装与配置
1️⃣ 编译telegram-cli
首先需要编译[telegram-cli][3],首次启动时会引导你关联Telegram账户。这是与Telegram服务器通信的基础组件,确保它能正常运行是成功备份的第一步。
2️⃣ 检查Ruby环境
确保系统已安装Ruby 2.0或更高版本:
ruby --version3️⃣ 获取项目代码
克隆仓库到本地:
git clone https://gitcode.com/gh_mirrors/te/telegram-history-dump4️⃣ 配置备份策略(可选)
编辑配置文件config.yaml来自定义你的备份需求。默认配置会将所有对话备份到output目录,采用JSON格式,不下载媒体文件。你可以根据需要调整参数,如设置媒体下载选项、更改输出格式等。
🚀 开始备份:简单两步
步骤1:启动telegram-cli
使用以下命令启动telegram-cli,确保启用JSON输出和端口监听:
telegram-cli --json -P 9009步骤2:运行备份脚本
在telegram-cli运行的同时,执行备份脚本:
ruby telegram-history-dump.rb📊 多样化输出格式:满足不同需求
telegram-history-dump支持多种输出格式,你可以在配置文件中启用一个或多个格式化模块:
- HTML格式:formatters/html.rb创建带有样式的分页聊天记录,可通过网页浏览器查看,最终生成的文件位于
output/formatted/html/index.html - 纯文本格式:formatters/plaintext.rb创建人类可读的文本文件,按日期组织
- 精简格式:formatters/bare.rb仅输出消息文本,适合语言/统计分析
- PISG格式:formatters/pisg.rb创建与EnergyMech IRC日志格式兼容的每日日志,可作为[PISG][7]聊天统计生成器的输入
你还可以实现自定义格式化器,详情请参见formatters/lib/formatter_base.rb。
⚙️ 命令行选项:灵活控制备份过程
虽然大部分配置通过配置文件完成,但telegram-history-dump也提供了一些实用的命令行选项:
Usage: telegram-history-dump.rb [options] -c, --config=cfg.yaml 指定YAML配置文件路径 -k, --kill-tg 备份完成后关闭telegram-cli -h, --help 显示帮助信息 -d, --dir=DIR 输出文件子目录(相对于配置中的backup_dir) -l, --limit=LIMIT 每个目标的最大消息备份数量(覆盖YAML配置)💡 使用技巧与注意事项
远程运行telegram-cli:可以在其他机器(如服务器)上运行telegram-cli作为守护进程。此时需要向telegram-cli传递
--accept-any-tcp选项,并适当配置防火墙以防止不必要的暴露。注意远程设置下某些媒体文件相关选项可能无法正常工作。控制请求频率:谨慎调整
chunk_delay(块延迟)和chunk_size(块大小)参数。Telegram对历史记录请求有速率限制,过快的请求可能导致操作超时,迫使脚本跳过部分备份内容。处理telegram-cli问题:已知一些telegram-cli问题可能影响备份:
- 当备份超过100条消息的频道时,可能会导致崩溃[vysheng/tg#947][9]
- 当对话包含特定媒体文件时,可能会导致崩溃[vysheng/tg#904][10]。如果遇到此问题,请按照建议的解决方法重新编译telegram-cli。
通过telegram-history-dump和telegram-cli的强大组合,你可以轻松构建一个专业的Telegram备份系统,确保珍贵的聊天记录安全保存。无论是日常备份还是迁移数据,这款工具都能满足你的需求。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考