该工具是 telegram-json-backup 的继任者,从头开始用 Ruby 编写。它通过 telegram-cli 的远程控制功能,可以创建你的 Telegram 用户和(超级)群组对话的备份。
与旧项目相比,telegram-history-dump:
默认配置将备份所有对话到名为 output 的目录,格式为 JSON,不下载任何媒体。
ruby --versionconfig.yaml 配置备份例程telegram-cli --json -P 9009ruby telegram-history-dump.rb历史记录将始终以 JSON Lines 兼容文件存储。不过,可以通过取消配置文件中几行的注释来生成其他输出格式。
你可以启用以下一个或多个格式化模块:
html 创建可通过浏览器查看的、带样式的分页聊天记录。
plaintext 创建人类可读的文本文件,按每天一个文件组织。
bare 仅输出实际消息文本,不带任何上下文。适用于语言学/统计分析。
pisg 创建与 EnergyMech IRC 日志格式兼容的每日日志,作为 PISG 聊天统计生成器的输入。另见 telegram-pisg。
你还可以实现自定义格式化器;详情请参阅 formatters/lib/formatter_base.rb。
大部分备份配置通过配置文件完成,但少数特定选项可作为 CLI 选项提供。它们都不是必需的。
Usage: telegram-history-dump.rb [options]
-c, --config=cfg.yaml Path to YAML configuration file
-k, --kill-tg Kill telegram-cli after backup
-h, --help Show help
-d, --dir=DIR Subdirectory for output files
(relative to backup_dir in YAML config)
-l, --limit=LIMIT Maximum number of messages to backup
for each target (overrides YAML config)
使用说明:
--accept-any-tcp,并适当防火墙该端口以防止不必要的暴露。请记住,某些与媒体文件相关的选项在远程设置中将无法使用。chunk_delay 或增加 chunk_size 时要小心。Telegram 似乎会对历史请求进行速率限制。速度过快可能导致操作超时,并迫使脚本跳过部分转储。已知影响 telegram-history-dump 的 telegram-cli 问题: