Сохранить журнал чата Telegram

32175
dx486

Я не могу сохранить журнал чата с Telegram. Насколько мне известно, Telegram на Android, Mac OS X, Windows и Linux не предоставляет эту возможность пользователю. Это основная функция, и это разочаровывает и удивляет, что это программное обеспечение не имеет.

Есть запрос на эту функцию здесь .

Может быть, есть обходной путь, потому что вся история загружается на устройство при обратной прокрутке.

Можно ли захватить / сохранить историю чата, загруженную в устройство, сделать локальную резервную копию журнала чата?

22

6 ответов на вопрос

6
Samim

tg (telegram-cli) принимает скрипты Lua. Вот мой скрипт, который сохраняет столько сообщений, сколько вы хотите, в базу данных sqlite.

https://github.com/psamim/telegram-cli-backup

Добро пожаловать в Супер пользователя! На этом сайте Q & A мы ценим ответы. Гиперссылки сами по себе, как правило, указывают на ответ, но на самом деле не являются таковыми. Пожалуйста, отредактируйте свой ответ так, чтобы он включал основные элементы из вашего связанного источника, например, сам скрипт. Ob1lan 9 лет назад 1
Привет, попробовал скрипт. работает как шарм. Но это не резервное копирование носителя, не так ли? или я что-то не так делаю? neo 9 лет назад 1
@Junaid Нет, он не создает резервные копии медиафайлов на данный момент. Медиафайлы отделены от сообщений. Один запрос должен быть сделан для каждого медиа-сообщения. Samim 9 лет назад 0
5
vedant

Я создал свой собственный сценарий на основе @ Samim's в сущности .

Он печатает в файл, так что вы можете сохранить его, как вам нравится, а не использовать базу данных SQL. Кроме того, он имеет функцию сна, так что вы можете большее количество историй диалогов. Это все еще ограничено telegram-cliжестким пределом 100. Я изменил это, отредактировав источник и подняв предел.

Может ли ваш скрипт сохранять медиафайлы и вложения? dx486 9 лет назад 0
Они просто упоминают тип СМИ vedant 9 лет назад 0
не могли бы вы подсказать мне, как я могу изменить лимит? какую часть кода telegram-cli следует изменить? Ali Nfr 8 лет назад 0
3
intika

Ответ :

Невозможно сделать резервную копию истории чата в автоматическом режиме с помощью официального приложения, эта функция пока не предоставляется

Обходной путь:

Вы все еще можете сделать это вручную; проверено на официальном клиенте на windows

  • Открыть окно чата
  • Нажмите на последнее отправленное / полученное сообщение и продолжайте нажимать
  • Переместите мышь вверх, чтобы выбрать все сообщения
  • Щелкните правой кнопкой мыши, чтобы скопировать сообщения
  • Сохраните их в текстовый файл или еще
Спасибо за попытку ответить на мой вопрос. Когда у вас много сообщений, этот обходной путь займет очень много времени. Кроме того, изображения и видео не включены во время копирования и вставки. Поэтому я не приму это как ответ. dx486 9 лет назад 6
Я сделал эту работу для чата нескольких тысяч сообщений (отдельно сохранял изображения и аудио из папок телеграммы). Если только это не был единственный способ сделать это вручную - это лучше, чем ничего ;-) anneblue 8 лет назад 0
2
mike

Я нашел симпатичную библиотеку php, которая работает над telegram-cli https://github.com/zyberspace/php-telegram-cli-client

Есть скрипт, который будет скачивать все сообщения и файлы.

<?php require('vendor/autoload.php'); $telegram = new \Zyberspace\Telegram\Cli\Client('unix:///tmp/tg.sck');  $chat = 'chat_name_that_you_want_to_download';  $limit = 50; $offset = 0;  function save($msg) { $path = '/path/where/you/want/to/store/messages'; file_put_contents($path . '/' . $msg->id, json_encode($msg)); }  function download($telegram, $msg) { $response = $telegram->exec('load_' . $msg->media->type, $msg->id); $msg->media->path = $response->result; }  while($msgList = $telegram->getHistory($chat, $limit, $offset)) { $offset += $limit; foreach($msgList as $msg) { if (isset($msg->media)) { download($telegram, $msg, $msg->media->type); } save($msg); } } 

Вы должны изменить две строки здесь:

  1. chat_name_that_you_want_to_download
  2. / путь / где / вы / хотите / в / магазин / сообщения

    • Скрипт сохранит каждое сообщение (из чата "chat_name_that_you_want_to_download") как отдельный файл в папке "/ path / where / you / want / to / store / messages".
    • Каждый файл содержит json представление сообщения.
    • Для файлов будет «media-> path» с путем к загруженному файлу.
    • Файлы будут храниться в папке telegram-cli по умолчанию: ~ / telegram-cli / downloads
2
arieljannai

Официальный экспорт данных

С 23-24 июня 2018 года Telegram добавил эту опцию, как часть изменений GDPR.

Теперь вы можете запросить загрузку всех ваших данных, и вы можете получить свои журналы чата.

  • Поддержка Telegram для экспорта данных :
    • Telegram Desktop - от 1.3.8 или выше
    • Telegram для Android - от 4.8.10 или выше
    • Telegram для iOS - от 4.8.3 или выше
    • Telegram Webapp - пока недоступно
    • Telegram для Windows Phone - не знаю

Вы можете отправить сообщение @GDPRbot для запроса экспорта данных или из настроек приложения, если они уже доступны.

Примечание. Из соображений безопасности экспорт данных не является немедленным, поэтому в случае, если кто-то получит контроль над одним из ваших устройств, он не сможет сразу же загрузить все ваши данные.

Прочитайте полное уведомление об экспорте часто задаваемых вопросов Telegram

Демонстрация с Telegram Desktop

Другие варианты (от GitHub)

0
azzamsa

Простой способ, если вы хотите экспортировать его в текст или HTML (если вы хотите, чтобы ваши сообщения были цветными).

Вы можете

  • войдите с telegram-cli
  • открыть историю чата
  • экспортировать содержимое вашего терминала

В моем случае я использую Konsole, так что я File> Save output as, я предпочитаю его в HTML.

Похожие вопросы