
Бэкап чатов Telegram с инкрементальной поддержкой, множеством форматов вывода (JSON, HTML, plaintext) и загрузкой медиа через удалённое управление telegram-cli.
Эта утилита является преемником telegram-json-backup, полностью переписанным на Ruby. Она позволяет создавать резервные копии ваших личных и (супер)групповых диалогов Telegram, используя функцию удаленного управления telegram-cli.
По сравнению со старым проектом, telegram-history-dump:
Конфигурация по умолчанию создает резервную копию всех диалогов в каталог с именем output
в формате JSON, без загрузки каких-либо медиафайлов.
ruby --versionconfig.yamltelegram-cli --json -P 9009ruby telegram-history-dump.rbИстория всегда будет сохраняться в файлах, соответствующих формату JSON Lines. Однако дополнительные форматы вывода можно включить, раскомментировав несколько строк в конфигурационном файле.
Вы можете включить один или несколько из следующих модулей форматировщиков:
html создает стилизованные, разбитые на страницы журналы чатов, просматриваемые в веб-браузере.
plaintext создает удобочитаемые текстовые файлы, организованные по одному файлу на день.
bare выводит только текст фактических сообщений без какого-либо контекста. Предназначен для
лингвистического / статистического анализа.
pisg создает ежедневные журналы, совместимые с форматом журналирования IRC EnergyMech, в качестве
входа для генератора статистики чатов PISG. См. также telegram-pisg.
Вы также можете реализовать свой собственный форматировщик; подробности см. в
formatters/lib/formatter_base.rb.
Большая часть конфигурации резервного копирования осуществляется через конфигурационный файл, но несколько специфических параметров доступны в качестве опций CLI. Ни один из них не является обязательным.
Использование: telegram-history-dump.rb [options]
-c, --config=cfg.yaml Путь к файлу конфигурации YAML
-k, --kill-tg Завершить telegram-cli после резервного копирования
-h, --help Показать справку
-d, --dir=DIR Подкаталог для выходных файлов
(относительно backup_dir в конфигурации YAML)
-l, --limit=LIMIT Максимальное количество сообщений для резервного копирования
для каждой цели (переопределяет конфигурацию YAML)
Примечания по использованию:
--accept-any-tcp в telegram-cli и
соответствующим образом настроить межсетевой экран на порту, чтобы предотвратить нежелательное раскрытие. Имейте в виду,
что некоторые опции, касающиеся медиафайлов, не будут работать в удаленной настройке.chunk_delay или увеличении chunk_size. Telegram
по-видимому, ограничивает запросы истории по скорости. Слишком быстрое выполнение может привести к
тайм-ауту операции и заставит скрипт пропустить часть дампа.Известные проблемы telegram-cli, влияющие на telegram-history-dump: