Zapisz dziennik czatu Telegram

22

Nie mogę zapisać dziennika czatów za pomocą Telegramu. O ile mi wiadomo, telegram na Androidzie, Mac OS X, Windowsie i Linuksie nie daje tej opcji użytkownikowi. Jest to podstawowa funkcja i rozczarowujące i zaskakujące jest to, że oprogramowanie tego nie ma.

Jest wniosek o tej funkcji tutaj .

Być może istnieje obejście tego problemu, ponieważ cała historia jest ładowana do urządzenia podczas przewijania do tyłu.

Czy możliwe jest przechwytywanie / zapisywanie historii czatów załadowanych do urządzenia, tworzenie lokalnej kopii zapasowej dziennika czatów?

Teo
źródło

Odpowiedzi:

2

Oficjalny eksport danych

W dniach 23-24.06.2018 Telegram dodał tę opcję w ramach zmian RODO.

Teraz możesz poprosić o pobranie wszystkich swoich danych, aby uzyskać dzienniki czatu.

  • Obsługa telegramu dla eksportu danych :
    • Telegram Desktop - od 1.3.8 lub wyższej
    • Telegram na Androida - od wersji 4.8.10 lub nowszej
    • Telegram na iOS - od wersji 4.8.3 lub nowszej
    • Telegram Webapp - jeszcze niedostępna
    • Telegram na Windows Phone - nie ma pojęcia

Możesz wysłać wiadomość do @GDPRbot z prośbą o eksport danych lub z ustawień aplikacji, jeśli są już dostępne.

Uwaga: ze względów bezpieczeństwa eksport danych nie jest natychmiastowy, więc jeśli ktoś przejmie kontrolę nad jednym z twoich urządzeń, nie będzie w stanie natychmiast pobrać wszystkich twoich danych.

Przeczytaj pełne powiadomienie z eksportu FAQ Telegram

Demonstracja z Telegram Desktop

Inne opcje (z GitHub)

arieljannai
źródło
6

tg (telegram-cli) akceptuje skrypty Lua. Oto mój skrypt, który zapisuje tyle wiadomości, ile chcesz w bazie danych sqlite.

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

Samim
źródło
1
Witamy w Super User! Na tej stronie pytań i odpowiedzi cenimy odpowiedzi. Same hiperłącza zwykle wskazują na odpowiedź, nie będąc nią. Zmodyfikuj swoją odpowiedź, aby zawierała niezbędne elementy z połączonego źródła, na przykład samego skryptu.
Ob1lan
1
Cześć, wypróbowałem skrypt. działa jak marzenie. Ale nie tworzy kopii zapasowej nośnika, prawda? czy robię coś złego?
neo,
@Junaid Nie, nie tworzy obecnie kopii zapasowych plików multimedialnych. Pliki multimedialne są oprócz wiadomości. Dla każdej wiadomości medialnej należy złożyć jedno żądanie.
Samim
5

Stworzyłem własny skrypt w oparciu o @ Samim's w skrócie .

Drukuje do pliku, dzięki czemu można zapisać go tak, jak chcesz, zamiast korzystać z bazy danych SQL. Ma także funkcję uśpienia, dzięki czemu można tworzyć większą liczbę historii dialogów. Nadal jest ograniczony telegram-clitwardym limitem 100. Zmieniłem to, edytując źródło i podnosząc limit.

wedant
źródło
Czy twój skrypt może zapisać pliki multimedialne i załączniki?
Teo,
Wspominają tylko o rodzaju mediów
wedant
czy możesz mi pomóc, jak mogę zmienić limit ?. która część kodu telegramu-cli powinna zostać zmieniona?
Ali Nfr
3

Odpowiedź :

Nie jest możliwe automatyczne tworzenie kopii zapasowej historii czatów za pomocą oficjalnej aplikacji, ta funkcja nie jest jeszcze dostępna

Obejście:

Nadal możesz zrobić to ręcznie; testowane na oficjalnym kliencie w systemie Windows

  • Otwórz okno czatu
  • Kliknij ostatnią wysłaną / odebraną wiadomość i kliknij dalej
  • Przesuń mysz w górę, aby zaznaczyć wszystkie wiadomości
  • Kliknij prawym przyciskiem myszy, aby skopiować wiadomości
  • Zapisz je w pliku tekstowym lub w innym miejscu
intika
źródło
6
Dziękuję za próbę odpowiedzi na moje pytanie. W przypadku dużej liczby komunikatów obejście tego zajęłoby bardzo dużo czasu. Ponadto obrazy i filmy nie są uwzględniane podczas kopiowania i wklejania. Dlatego nie zaakceptuję tego jako odpowiedzi.
Teo
Wykonałem tę pracę na czacie kilku tysięcy wiadomości (osobno zapisałem obrazy i dźwięk z folderów telegramu). Chyba że był to jedyny sposób, aby zrobić to ręcznie - lepiej niż nic ;-)
anneblue
2

Znalazłem ładną bibliotekę php, która działa na telegram-cli https://github.com/zyberspace/php-telegram-cli-client

Istnieje skrypt, który pobierze wszystkie wiadomości i pliki.

<?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);
        }
}

Musisz zmienić tutaj dwa ciągi:

  1. chat_name_that_you_want_to_download
  2. / path / where / you / want / to / store / messages

    • Skrypt zapisze każdą wiadomość (z czatu „nazwa_nazwa_w czacie, że_ chcesz_dobrać”) jako osobny plik w folderze „/ ścieżka / gdzie / ty / chcesz / przechować / wiadomości”.
    • Każdy plik zawiera json reprezentację wiadomości.
    • Dla plików pojawi się „media-> ścieżka” ze ścieżką do pobranego pliku.
    • Pliki będą przechowywane w domyślnym folderze telegram-cli: ~ / telegram-cli / download
mikrofon
źródło
0

Prosty sposób, jeśli chcesz wyeksportować go do tekstu lub HTML (jeśli chcesz, aby wiadomości były kolorowe).

Możesz

  • Zaloguj się z telegram-cli
  • otwórz swoją historię czatów
  • wyeksportuj zawartość terminalu

W moim przypadku używam Konsoli, więc robię File> Save output as, wolę to w HTML.

azzamsa
źródło