Chat aus Daten-Backup in HTML konvertieren

Stelle deine Frage öffentlich an die Threema-Forum-Community - über 3.000 Mitglieder helfen dir weiter. Los gehts!
Unterstützung von offizieller Seite erhältst du direkt bei Threema: Zum offiziellen Threema-Support
  • Hallo interessierte Threema-Nutzer,


    in Anlehnung an MiazVorschlag "Export von Chats im Original-Layout mit Vorschaugrafiken der Medien als PDF oder HTML" habe ich mich mal daran versucht, ein PowerShell-Skript zu erstellen, welches aus einem Chat (Einzel-, Gruppenchat, Kanal) aus dem Android-Daten-Backup eine HTML erzeugt, die euch ermöglicht, den Chat fast so lesen zu können, wie er in der App dargestellt wird.


    Dazu ganz einfach das .zip Daten-Backup auf dem Windows-Rechner in einem Ordner entpacken, in den ihr die .ps1 Skriptdatei kopiert.

    Anschließend ruft ihr in diesem Verzeichnis eine Kommandozeilen-Fenster auf (Shift + Rechtsklick auf eine freie Stelle im Ordner -> PowerShell-Fenster/cmd hier öffnen) und gebt folgenden Befehl ein:

    Code
    1. PowerShell -ExecutionPolicy Bypass -File .\<skript.ps1> .\<chat.csv>


    Als Beispiel:

    Code
    1. PowerShell -ExecutionPolicy Bypass -File .\_threema-csv2html.ps1 .\message_ECHOECHO.csv


    Das Skript liest alle benötigten Informationen aus den hoffentlich vorhandenen Dateien des Backups und erstellt einen Medienordner (für Bilder, Videos, ... und die angegebene .csv Datei), sowie eine .html Datei, die mit jedem beliebigen Browser angesehen werden kann. Diese .html Datei könnt ihr umbenennen, den Ordner nicht, da die Verweise sonst nicht mehr stimmen.

    Derzeit unterstützt das Skript nur Android-Threema-Nutzer (Daten-Backup) mit einem Windows System (PowerShell).


    Probiert es aus, lest euch das Skript durch, wenn ihr mögt (oder mir nicht vertraut :)) und bringt gerne Feedback oder eigene Verbesserungen ein.

    Portierungen auf Linux/MacOS sind gerne gesehen und wenn ihr das Skript teilt, verweist bitte wenigstens auf diesen Beitrag hier im Forum ;)


    Viele Spaß damit!


    PS: Nach dem Herunterladen der Skriptdatei aus dem Anhang müsst ihr die Dateiendung ".txt" entfernen, sodass die Datei auf ".ps1" endet, da es sonst nicht von PowerShell ausgeführt wird. Lasst ihr die Dateiendung auf ".txt" stehen, könnt ihr per Doppelklick den Inhalt des Skripts einsehen, es wird auch nicht ausgeführt.



    Hinweis:

    Ich stelle das Skript hier nur einmal als "as is" hin, biete also keinen aktiven Support oder eine gesicherte Weiterentwicklung dafür an.

    Dateien

    3 Mal editiert, zuletzt von jnL () aus folgendem Grund: Skript-Update 19.05.2020: Dateiendung laut Dateityp anhängen - wenn bekannt Alte Versionen entfernt. Spart Simon den Platz und verwirrt ggf. nicht mehr beim Download :)

  • Ich konnte ja schon vorab mehrere Versionen des Scripts testen - und freue mich, dass jnL das jetzt veröffentlicht hat. Hatte das natürlich bisher wie gewünscht nicht weitergegeben...

    Ich möchte hier ausdrücklich jnL für seine Arbeit danken.

    👏

    Für mich ging damit ein lang ersehnter Wunsch in Erfüllung, konnte ich doch für bestimmte wichtige Familienchats jetzt eine Kopie (bzw. einen Export) erstellen und die Chat-Übersicht in Threema etwas aufräumen. Das turnusmäßige Threema-Backup ist jetzt hunderte MB kleiner. 👍

    Auch der Export von Gruppenchats ist jetzt möglich. Anders als beim offiziellen Threema-Export erhält man hier eine Übersicht im Original-Layout mit allen Vorschau-Grafiken und Links zu den Medien. Alles sieht so aus, wie am Handy.


    Es klappt jedenfalls sehr gut.

    Danke! 😀


    Ich bin gespannt, was andere User davon halten. Es ist am Anfang etwas knifflig als Laie - aber es funktioniert 👍👍

    __________________________
    Gruß Miaz
    (Samsung Galaxy S7 / Sony Xperia Z1C / Threema seit 08-2014)

    4 Mal editiert, zuletzt von Miaz ()

  • 19x heruntergeladen - und noch keine weitere Info dazu?

    Das können ja auch doppelte Downloads sein, weil ggf. gelöscht, verlegt, geändert, ...

    Und ich glaube auch Nicht-Forenmitglieder können den Anhang ohne Registrierung downloaden. Eine Rückmeldung dazu gibt es dann nicht ohne vorherige Registrierung, die dann doch vielleicht so manch einer scheut.


    Ich sehe es positiv: keine Rückmeldungen sind keine Fehlermeldungen und es interessiert wohl auch ein paar :)

  • Hallo,


    ich habe das ausprobiert, aber irgendwie finde ich keine konvertierten Daten. Habe den Link in die Datei kopiert und dann den Power Shell Befehl eingegeben. Aber wie geht es dann weiter?


    Etwas ratlos, beste Grüße

  • und nun das nächste Problem: ich habe es nochmal probiert und jetzt kann ich den Befehl nicht mehr ausführen. Fehlermeldung:

    Fehler beim Verarbeiten von -File ".\<skript.ps1>": Illegales Zeichen im Pfad. Geben Sie einen gültigen Pfad für den

  • Hallo ottagamba

    Habe den Link in die Datei kopiert

    Das verstehe ich leider nicht. Du musst lediglich auf die Datei im ersten Beitrag klicken, um diese herunterladen zu können. Anschließend muss die Dateiendung ".txt" vom Dateinamen entfernt werden.


    Fehler beim Verarbeiten von -File ".\<skript.ps1>": Illegales Zeichen im Pfad

    Das "<skript.ps1>" ist nicht der Pfad zur heruntergeladenen Datei, sondern in diesem Falle der Platzhalter dafür. Du musst den Pfad also ersetzen, so wie es als Beispiel im ersten Beitrag steht. Bei mir war es wie folgt aufgebaut.


    Unter "C:\temp\threema-backup\" habe ich mein Threema-Datenbackup extrahiert, sodass dort alle Dateien lagen (Beispieldatei: C:\temp\threema-backup\messages_ECHOECHO.csv). In diesem Ordner liegt bei mir auch die Skriptdatei. Also habe ich ein Kommandozeilen-Fenster in diesem Ordner geöffnet und diesen Befehl eingegeben

    PowerShell -ExecutionPolicy Bypass -File .\_threema-csv2html.ps1 .\message_ECHOECHO.csv


    Die beiden angegebenen Dateien ("*.ps1" und "*.csv") liegen in diesem Verzeichnis (".").

    Nach der Ausführung fand ich den Ordner "id_ECHOECHO" und die Datei "Chat mit ECHOECHO.html" vor.



    Du kannst sonst ggf. mal einen Screenshot mit unkenntlich gemachten Stellen von sensiblen Informationen (Threema ID, ...) machen und posten. Vielleicht kann ich dir dann weiter helfen.


    Viel Erfolg!

  • Hallo JnL,


    ich hab das mal getestet. Im Screenshot siehst du die Fehlermeldungen, die bei mir ausgegeben wurden.

    Trotz der Fehlermeldungen scheint das Skript aber eine "Chat mit 0 ().html-Datei" zu erzeugen. Was leider nicht so richtig funktioniert hat, sind Bilder. Die fehlen manchmal, aber auch nicht immer. Da erscheint dann "Bild nicht gefunden."


    Das Skript muss schon in das Verzeichnis, wo die entsprechende Threema-ID.csv-Datei liegt, oder? (So hab ich das zumindest gemacht)

    Bei Gruppenchats, sieht man leider nicht, wer was geschrieben hat, da fehlt der Nick.

    Kann man das vielleicht so einrichten, dass, wenn man das Skript erneut startet, die akutelle "Chat mit 0 ().html" nicht überschrieben wird, sondern eine neue erstellt wird? :-)


    Ansonsten muss ich sagen: Super Arbeit!!! :thumbup:8):)


    Schöne Grüße

    Mogli


  • Fehlermeldungen, die bei mir ausgegeben wurden

    Liegt an einer anderen PowerShell-Version. Hab die betroffene Zeile umgeschrieben. Update im ersten Post.


    Trotz der Fehlermeldungen scheint das Skript aber eine "Chat mit 0 ().html-Datei" zu erzeugen. Was leider nicht so richtig funktioniert hat, sind Bilder. Die fehlen manchmal, aber auch nicht immer. Da erscheint dann "Bild nicht gefunden."

    Die erzeugte Datei ist aber auch nicht vollkommen korrekt. Wenn auch der Name nicht passt, der Inhalt ist ebenso ohne Name und die Statussymbole (gesendet, gelesen, ...) für die jeweiligen Nachrichten fehlen.


    Das Skript muss schon in das Verzeichnis, wo die entsprechende Threema-ID.csv-Datei liegt, oder?

    Ganz genau!


    Bei Gruppenchats, sieht man leider nicht, wer was geschrieben hat, da fehlt der Nick.

    Das liegt am Fehler und sollte mit der Anpassung für eine andere PS-Version behoben sein.


    Kann man das vielleicht so einrichten, dass, wenn man das Skript erneut startet, die akutelle "Chat mit 0 ().html" nicht überschrieben wird, sondern eine neue erstellt wird? :-)

    Ganz einfach umgangen: aktueller Zeitstempel im Format "[yyyy-mm-dd.HHMM]" wird nun in den Dateinamen aufgenommen :)



    Wie gesagt, die überarbeitete Version gibt es wieder im ersten Post: 2020-05-05_threema-csv2html.ps1.txt (.txt entfernen!)

  • Update 06.05.2020

    - Im Zeitstempel hatte ich einen Dreher zwischen mm (Minuten) und MM (Monat)

    - Zeitstempel ohne eckige Klammern [ ], da dies Fehler verursachen konnte

    - Entferne / und \ aus dem Namen des Kontakts/der Gruppe zum Speichern der HTML-Datei


    Das überarbeitete Skript gibt es wieder im ersten Beitrag :)

  • Wow....Ich bin sehr positiv überrascht. Es funktioniert jetzt auch bei mir einwandfrei und ohne Fehlermeldung(en)! :thumbup::)


    Sogar Videos und Sprachnachrichten werden abgespielt! :)


    Vielen Vielen Dank für deine supertolle Arbeit 8)8)8):thumbup::)

  • Hi, habe mich extra hier angemeldet um auch schreiben zu können. ;-)


    Ich habe den Link zu diesem Beitrag von Threema Support bekommen, bin echt froh darüber!

    Leider ist es ja nicht möglich Threema komplett mit allen Inhalten von Android zu iOS zu bekommen. Wobei ich nicht ganz verstehe, warum man das nicht von vornherein vorsieht. Denke so ungewöhnlich ist das ja nicht...


    Aber immerhin kann man das ganze sichern und nun mit dem Skript auch noch wieder ansehbar machen!

    Ich bin echt begeistert und möchte mich extra nochmal für diese Möglichkeit bedanken!


    Wenn ich das richtig sehe, dann sind in dem neu erstellten Ordner alle Bilder und Videos.

    Wie kann man die direkt ansehbar machen? Das Problem von der ursprünglichen Datensicherung bleibt ja, das die Endungen fehlen, und somit Windows die Dateien keinem Programm zuordnen kann.

    Ich selber kann so ja auch nicht erkennen welche Datei was ist.

    Wie könnte man das lösen?


    Benutze übrigens zum Bilder Betrachten üblicher Weise FastStone. Für Videos normaler Weise MPC-HC Player.


    Vielen Dank!

  • Mecki : Du könntest ja die Dateien ohne Endung rauskopieren und prophylaktisch jpg (oder mp4) hinzufügen. Videos können ja nur die größeren Dateien sein...

    Wenn's Dein Bildberachter anzeigt, war es tatsächlich ein Bild. ✌️😁


    Im Prinzip ist das aber nicht nötig. In der HTML siehst Du alle Medien - und kannst bei Bedarf daraus "speichern unter" ausführen.


    EDIT:

    Rechtsklick auf die Vorschau -> "Ziel speichern unter" --> dann wird sogar automatisch ".jpg" angehängt.

    __________________________
    Gruß Miaz
    (Samsung Galaxy S7 / Sony Xperia Z1C / Threema seit 08-2014)

    5 Mal editiert, zuletzt von Miaz ()

  • Hallo Mecki,

    Ich habe den Link zu diesem Beitrag von Threema Support bekommen

    direkt vom Support? Da kann ich mich ja glücklich schätzen 8)


    Wenn ich das richtig sehe, dann sind in dem neu erstellten Ordner alle Bilder und Videos.

    Wie kann man die direkt ansehbar machen?

    Das ist richtig. Die Dateien habe ich in den letzten Versionen immer nur im Originalnamen (laut Backup) gelassen, damit man die Dateien ggf. wieder zurückkopieren und das Skript nochmal ausführen kann. Aus welchen Gründen auch immer.


    Mit der heutigen Version habe ich das Skript angepasst und um ein paar bekannte Dateitypen erweitert. Das Skript fragt dann je vorhandener Mediendatei die ersten Bytes ab und vergleicht, ob diese einer bekannten Dateiendung gleichen. Dann ändert das Skript den Dateinamen auf z. B. ".jpg", verschiebt es dann und verweist auch darauf in der HTML-Datei.


    Man kann nun also auch ohne die HTML-Datei recht einfach durch die Medien schauen - nur nicht chronologisch, da eigentlich nur nach UUID-Namen und nicht nach Aufnahme-/Empfangsdatum sortiert werden kann.



    Wer sich nun fragt, warum gerade Dateien mit der Dateiendung ".zip" nicht umbenannt werden.... Tja, da gibt es viele mögliche Fehlerquoten, wenn man auch die Microsoft Office Dokumente DOCX, XLSX, PPTX, ... verschickt. Die beginnen alle mit den selben Bytes für ein ZIP-Archiv und sind untereinander auch nicht auseinander zu halten.

    Die meisten verschicken und empfangen jedoch Bilder und/oder Videos und diese sollten nun hauptsächlich die zum Dateityp passende Dateiendung erhalten :)

  • jnL

    Vielen Dank!!!

    Habe leider erst heute Deine Nachricht entdeckt. Aber ich werde es ausprobieren! Wird dann klasse werden, wenn man direkt sämtliche Bilder und Videos sich anschauen kann!


    Ja habe direkt von einem Support Mitarbeiter den Link per Mail als Idee erhalten!

    Hat mich auch sehr gefreut!!!


    Einzig ich verstehe nicht so recht warum es von Threema selber nicht entsprechende Möglichkeiten gibt.

    Sei es das man Chats sichern, eventuell später auch wieder anfügen kann, oder aber zumindest so oder ähnlich wie hier abspeichern kann, sodaß man da wieder reinschauen kann.


    Noch weniger verstehe ich, das es nicht von vornherein eine Möglichkeit gibt, wie man Threema komplett von einem Betriebsystem auf das andere umziehen kann. Also mit allen Chats und Daten von Android zu IOS oder auch umgekehrt. Egal wie , von mir aus auch mit Hilfsprogramm. Bei Whatsapp gibts ja zumindest Möglichkeiten von Drittanbieter.

    Aber bei Threema gibts eben rein garnichts! Vorallem noch nichtmal vom Anbieter. Das ist für mich völlig unverständlich! (Im Grunde aber auch bei Whatsapp das selbe. Vom Hersteller gibts ja auch nichts.)


    Vielen Dank nochmal!!! 👍👍👍

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden