
Telegram チャットログをバックアップ(増分サポート、複数の出力形式 (JSON、HTML、plaintext)、および telegram-cli リモートコントロール経由のメディアダウンロード)
このユーティリティは telegram-json-backup の後継であり、Ruby で一から書かれています。telegram-cli のリモートコントロール機能を使用して、Telegram のユーザーおよび(スーパー)グループダイアログのバックアップを作成できます。
以前のプロジェクトと比較して、telegram-history-dump は次の点が優れています:
デフォルト設定では、すべてのダイアログを JSON 形式で output という名前のディレクトリにバックアップし、メディアはダウンロードしません。
ruby --versionconfig.yaml を編集してバックアップルーチンを設定しますtelegram-cli --json -P 9009ruby telegram-history-dump.rb履歴は常に JSON Lines 準拠のファイルに保存されます。ただし、設定ファイル内の数行のコメントを解除することで、追加の出力形式を生成できます。
以下のフォーマッターモジュールの1つ以上を有効にできます:
html は、ウェブブラウザで表示可能なスタイル付きのページ分割されたチャットログを作成します。
plaintext は、日ごとに1ファイルとして整理された、人間が読めるテキストファイルを作成します。
bare は、コンテキストなしで実際のメッセージテキストのみを出力します。言語学的/統計的分析を目的としています。
pisg は、PISG チャット統計生成器への入力として EnergyMech IRC ログ形式と互換性のある日次ログを作成します。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 の問題: