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


22

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

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

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

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

Ответы:


2

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

С 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)


6

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

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


1
Добро пожаловать в Супер пользователя! На этом сайте Q & A мы ценим ответы. Гиперссылки сами по себе, как правило, указывают на ответ, но на самом деле не являются таковыми. Пожалуйста, отредактируйте свой ответ так, чтобы он включал основные элементы из вашего связанного источника, например, сам скрипт.
Ob1lan

1
Привет, попробовал скрипт. работает как шарм. Но это не резервное копирование носителя, не так ли? или я что-то не так делаю?
Нео

@Junaid Нет, он не создает резервные копии медиафайлов на данный момент. Медиа файлы отделены от сообщений. Один запрос должен быть сделан для каждого мультимедийного сообщения.
Самим

5

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

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


Может ли ваш скрипт сохранять медиафайлы и вложения?
Тео

Они просто упоминают тип СМИ
vedant

не могли бы вы подсказать мне, как я могу изменить лимит? какую часть кода telegram-cli следует изменить?
Али Nfr

3

Ответ :

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

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

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

  • Открыть окно чата
  • Нажмите на последнее отправленное / полученное сообщение и продолжайте нажимать
  • Переместите мышь вверх, чтобы выбрать все сообщения
  • Щелкните правой кнопкой мыши, чтобы скопировать сообщения
  • Сохраните их в текстовый файл или еще

6
Спасибо за попытку ответить на мой вопрос. Когда у вас много сообщений, этот обходной путь займет очень много времени. Кроме того, изображения и видео не включены во время копирования и вставки. Поэтому я не приму это как ответ.
Тео

Я сделал эту работу для чата из нескольких тысяч сообщений (отдельно сохранял изображения и аудио из папок телеграммы). Если только это не был единственный способ сделать это вручную - это лучше, чем ничего ;-)
anneblue

2

Я нашел симпатичную библиотеку 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

0

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

Вы можете

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.