Зберегти журнал чату Telegram


22

Я не в змозі зберегти журнал чату за допомогою Telegram. Наскільки я знаю, Telegram на Android, Mac OS X, Windows та Linux не надає користувачеві цієї можливості. Це основна особливість, і це невтішно і дивно, що цього програмного забезпечення немає.

Існує запит для цієї функції тут .

Можливо, є рішення, оскільки вся історія завантажується на пристрій під час прокрутки назад.

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

Відповіді:


2

Офіційний експорт даних

З 23-24 / 06/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, щоб надіслати запит на експорт даних або з налаштувань програми, якщо вони вже доступні.

Примітка: з міркувань безпеки експорт даних не є негайним, тому, якщо хтось візьме під контроль один із ваших пристроїв, він не зможе негайно завантажити всі ваші дані.

Прочитайте повне повідомлення з експорту FAQ на Telegram

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

Інші варіанти (від GitHub)


6

tg (telegram-cli) приймає сценарії Lua. Ось мій сценарій, який зберігає стільки повідомлень, скільки вам потрібно, в базу даних sqlite.

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


1
Ласкаво просимо до Супер Користувача! На цьому веб-сайті з питань питань ми цінуємо відповіді. Тільки гіперпосилання має тенденцію вказувати на відповідь, не будучи фактично такою. Будь ласка, відредагуйте свою відповідь так, щоб вона містила основні елементи з вашого пов’язаного джерела, наприклад, ваш сценарій.
Ob1lan

1
Привіт, спробував сценарій. працює як шарм. Але це не резервне копіювання засобів масової інформації? чи я щось роблю не так?
нео

@Junaid Ні, він не створює резервні копії медіа-файлів на даний момент. Мультимедійні файли відрізняються від повідомлень. Для кожного медіа-повідомлення слід зробити один запит.
Самім

5

Я створив власний сценарій на основі @ Samim's в суть .

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


Чи може ваш сценарій зберігати медіа-файли та вкладення?
Тео

Вони лише згадують тип ЗМІ
продавець

чи можете ви, будь ласка, керуватись мені, як я можу змінити ліміт ?. яку частину коду telegram-cli слід змінити?
Алі Нфр

3

Відповідь:

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

Обхід:

Ви все ще можете зробити це вручну; перевірена на офіційному клієнті на windows

  • Відкрийте вікно чату
  • Клацніть останнє надіслане / отримане повідомлення та підтримуйте його
  • Наведіть курсор миші вгору, щоб вибрати всі повідомлення
  • Клацніть правою кнопкою миші, щоб скопіювати повідомлення
  • Збережіть їх у текстовому файлі чи іншому

6
Дякую за спробу відповісти на моє запитання. Коли у вас є багато повідомлень, це рішення зайняло б дуже багато часу. Більше того, зображення та відео не включаються під час копіювання та вставки. Тому я не прийму це як відповідь.
Тео

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

2

Я знайшов досить php-бібліотеку, яка працює над телеграм-кліпом 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.