Beiträge von Bawal

Stelle deine Frage öffentlich an die Threema-Forum-Community - über 4.800 Mitglieder helfen dir weiter. > Frage stellen <

    Hallo Andreas :)

    hm...das sieht ja wirklich komisch aus. Schreibfehler ist nicht drin; der Befehl ist korrekt. Bei mir läuft es mit der PowerShell Version 5.1.19041.4291 einwandfrei...

    Was mich zum Stirnrunzeln bringt, ist daß der Fehler in Zeile 22 ab Zeichen 34 "stattfinden" soll. Da passiert in Grunde nicht viel, außer Textzuordnung...:|

    Wo hast du das Script her? Bzw... (blöde Frage, aber:) ist es wirklich das Script, das du da ausführst? Kannst du die threema-csv2html.ps1 mal mit nem Texteditor öffnen (evtl. "ps1" mit "txt" ersetzen)? Was steht da bei dir in Zeile 22? Und vor allem...diese Zeile ist keine 100+ Zeichen lang... :/


    Grüße

    Trommelwirbel.... Version 3.0 ist da! :)

    Dank der Mithilfe von Curve und seiner erstellten Format-Vorlage können nun Chats in einem modernen, an Threema Web angelehnten Stil exportiert und angezeigt werden. Das Script bietet nun die Möglichkeiten, neben dem bekannten Stil den neuen Stil auszuwählen oder auch auf eine externe *.css Datei zu verlinken (z.B. für eigene Anpassungen, ohne das Script anpassen zu müssen). Dazu noch ein paar kleine Änderungen und Optimierungen. Ich hoffe, es ist genehm so ;).

    Changelog v3.0
    • neue Option -WebStyle erstellt die HTML-Datei mit dem an Threema Web angelehnten Stil
    • neue Option -CSS "<File>" bietet die Möglichkeit, auf externe CSS zu verweisen (zwei Beispiel-CSS inkl. Threema Bildern auf Projektseite hinzugefügt)
    • Laufzeitoptimierung: besonders größere Chats werden nun deutlich schneller verarbeitet
    • Option "RealFilenames" wird nun auch bei Gruppen-/Kontakt-/Kanal-Fotos berücksichtigt
    • bugfix: Links in "alten Zitaten" nicht mehr zerschießen, wenn nach dem Link ein Leerzeichen folgt ("> ")
    • das "Change Log" aus dem Script entfernt und in eine externe Text-Datei verschoben
    • Credits in die Hilfe-Ausgabe hinzugefügt

    Zum "echten" Threema Web Format gehören auch ein Hintergrundbild und ein Wallpaper für den Chat. Um die Exporte weiterhin "portabel" zu halten, ohne zusätzliche Dateien/Hintergrundbilder mitschieben zu müssen, habe ich bei dem im Script eingebauten Web-Stil auf die Implementierung und Verweise auf Hintergrundbilder verzichtet. Wer es gerne komplett hätte und/oder gerne selbst an dem Format Hand anlegen möchte, der hat mit der Option -CSS "<File>" die Möglichkeit, das Format ausserhalb des Scripts und der HTML-Datei anzupassen. Zwei Beispiel-Formate sind auf der Projektseite verfügbar, die die ebenfalls dort verfügbaren Threema Bilder schon einbinden.

    Ich hoffe, das passt alles so! 8)


    Grüße

    So... ich habe mich mal (u.a.) an das unbequeme Thema "echte Dateinamen" rangetraut; zumindest mal eine Lösung implementiert. Und mehrere Chats können nun auf einmal konvertiert werden. Weitere Infos unten.

    Changelog v2.3
    • neue Option "RealFilenames". Damit werden die Medien-Dateien mit ihren "echten" Dateinamen bzw. -suffixe abgespeichert
    • Möglichkeit hinzugefügt, mehrere Chats auf einmal zu konvertieren (mithilfe von Platzhaltern '*' und '?')
    • Textausgaben angepasst, Code angepasst (keine Rekursion mehr nötig)

    Thema "echte Dateinamen"...

    Seitdem Threema Medien-Dateien als "FILE" im Backup angibt, gibt es auch echte Dateinamen. Soweit, so gut. Das Problem dabei ist aber, dass diese Dateinamen mitnichten einmalig sind. Sprachnachrichten zum Beispiel heissen alle recordAudio.m4a. Wenn also nur die angegebenen Dateinamen benutzt werden, werden vorhandene Dateien überschrieben! Nicht gut. Als aktuelle Lösung, damit die Dateinamen eindeutig bleiben, bleibt mir nix anderes übrig, als weiterhin auch die eindeutige ID zu benutzen. Ergebnis? Medien-Dateien fangen weiterhin mit ihrer ID an, bekommen aber dann ein Trennzeichen (z.Zt. "__") und den echten Dateinamen hinten dran. Um beim Beispiel der Sprachnachricht zu bleiben, wird aus message_media_<36-stellige-ID> dann message_media_<36-stellige-ID>__recordAudio.m4a. Analog alle anderen Dateien. Sieht nicht schick aus, funktioniert aber ;). Und die Dateien lassen sich z.B. im Explorer per Doppelklick öffnen. Für Dateien älterer Nachrichten und Thumbnails, wo der Dateiname nicht vorhanden ist, wird versucht, automatisch den richtigen Suffix anzuhängen. Ich habe alle meine Backups durchprobiert und keine nicht-erkannten Dateien gefunden. Falls ihr welche findet, her damit =O! Auch, wenn euch andere/bessere Ideen einfallen!

    Thema "mehrere Chats konvertieren"...

    Es darf weiterhin nur ein Argument als Chat-Datei übergeben werden; dieses darf aber nun auch Platzhalter enthalten. Möglich sind z.B. message*.csv um alle 1:1-Chats, group*.csv um alle Gruppenchats, oder *.csv um alle Chats zu konvertieren. Keine Sorge um die "System"-Dateien wie groups.csv, contacts.csv, usw. - diese werden automatisch ignoriert 8).


    Grüße

    Update 08.01.2024 - Version 2.2

    Wie angedroht hier erstmal meine letzten Änderungen, die ich noch fertig stellen wollte, bevor wir die nächsten spannenden Ideen angehen 8).

    Changelog v2.2
    • neue Optionen "FirstDate" und "LastDate", um den Zeitrahmen des Exports einzuschränken
    • neue Option "DarkMode". Meine (klägliche) Interpretation eines DarkModes ;)
    • bugfix: Dateiname - "CleanUp" regex nochmals angepasst; Emojis und unerlaubte Zeichen ausfiltern
    • HTML: <DOCTYPE> hinzugefügt, css angepasst und einige Elemente hinzugefügt (Thema "DarkMode")

    Thema Webentwicklerherz ;) - das schlägt bei mir (leider?) nicht...bzw. als Autodidakt hat es wohl mein Herz noch nicht erreicht. Aber dafür haben wir ja jetzt Curve. Jeder, der was beitragen kann und möchte ist herzlich eingeladen!

    Ich hatte auch schon mal kurz den Gedanken, ob Threema nicht irgendwann "negativ" auf unser Projekt aufmerksam werden könnte - aber das denken wir weiter, wenn es soweit kommt...

    Curve - ich denke, ich habe das existierende CSS nicht allzu sehr verbogen, als das deine Anpassung nicht mehr dazu passt. Im Grunde habe ich nur den "Absendernamen" eigene styles verpasst, damit man deren Farben getrennt anpassen kann. Also gerne mal her mit deinem CSS (gerne per PM)! ...oder kribbelt es jemand anderem in den Fingern und möchte das Script selber anpassen?


    Grüße

    Moin!

    Vielen Dank für die ganzen Rückmeldungen, es lag wohl letzendlich an einem korrupten Backup. Ich habe meine Chats nochmal etwas ausgedünnt und jetzt hat es prima funktioniert. Übrigens auch problemlos unter MacOS!

    Falls das zur allgemeinen Anleitung hinzugefügt werden soll, hier mein Vorgehen:

    Oh, spannend 8|! Wusste gar nicht, daß man Powershell auch unter MacOS laufen lassen kann! Danke für die Info und ja, das werde ich in die Anleitung/readme mit aufnehmen!

    Noch ein paar weitere Fragen, falls das schon irgendwo deutlich steht, entschuldigt bitte die Doppelung, dann freue ich mich auf einen schnellen Verweis.

    • Können alle Chats gleichzeitig mit einem Befehl exportiert werden?
    • Gibt es einen Weg alle Medien automatisch im richtigen Format in einem Ordner abzulegen?

    Im Moment können nur einzelne Chats exportiert werden. Aber die Idee hatte ich auch schon ;). Werde ich in der übernächsten Version (die nächste ist soweit schon fertig) mal probieren. Ich denke, ich werde es mit Wildcards umsetzen (anstatt explizit eine Datei anzugeben, sowas wie group_message*.csv).

    Tja...die Geschichte mit Medien, ihren Formaten und Dateinamen...die ist schon etwas länger. Threema hat "früher" alles in einen Topf geschmissen...irgendwann den Typ mit angegeben und aktuell sogar den "originalen" Dateinamen, falls vorhanden (aber z.B. hat ein Screenshot, direkt in Threema geteilt, keinen wirklichen Dateinamen). jnL hat schon mal probiert, die Formate anhand des Inhalts(!) zu erkennen...guter Wille, aber leider nur mit mäßigem Erfolg... Ich werde mal schauen, was mir dazu einfällt...

    Grüße!

    Moin, ich wollte gerade einmal das Skript testen, scheitere allerdings schon am Entpacken der .zip. 7zip meldet, dass die Datei kein Archiv ist und dementsprechend nichts entpacken kann. Ist mein Backup korrupt (eigentlich erfolgreich abgeschlossen worden) oder wo liegt hier der Fehler?

    Moin Curve -

    Tja...liest sich wirklich so, daß das Daten-Backup korrupt ist. Entweder bei der Erstellung oder beim Kopieren auf den PC. Am falschen Passwort kann es eigentlich nicht liegen - 7zip kann selbst bei passwort-geschützten *.zip-Archiven die Dateiliste ohne Eingabe des Passworts anzeigen. Als Test könntest du mal ein Daten-Backup ohne Medien-Dateien machen. Gibt auf alle Fälle eine kleinere *.zip-Datei - einfach mal um zu gucken, ob die eigentliche Prozedur korrekt ist...

    Update 13.12.2023 - Version 2.1

    Einen habe ich dann doch noch ;)...

    Ich bekam einen Hinweis einer sehr netten Nutzerin, daß VoIP-Anrufe über Threema in den HTML-Dateien nicht abgebildet werden. Stimmt (D'oh!). Und wenn wir schon dabei sind - die (neuerdings) funktionierenden Gruppenanrufe übrigens auch nicht. Also flugs mal beide Funktionen eingebaut 8). Sie gewinnen vielleicht keine Umsetzungs- oder Design-Preise, aber sie funktionieren...

    Changelog v2.1
    • VoIP-Anrufe in 1:1-Chats hinzugefügt
    • Gruppenanrufe hinzugefügt
    • die *.csv-Datei wird in den Medienordner kopiert und nicht mehr verschoben (so kann man mehrere Durchläufe machen, ohne ständig Dateien hin-und-her verschieben zu müssen)


    Grüße

    Update 04.12.2023 - Version 2.0

    Wie angedroht: ein neues Update! Eine neue Funktion, zwei neue Befehle, Parameterübergabe und ein paar Bugfixes. Ich denke, das ist dann schon mal eine Version 2.0 wert 8).

    Changelog v2.0
    • Message-Stati (Daumen hoch, Daumen runter) bei Gruppen-Chats hinzugefügt
    • zwei neue Befehle ("ListContacts" und "ListGroups") hinzugefügt, um die Dateinamen der Chats zu bestimmen
    • Parameterübergabe für benutzerdefinierte Optionen (yeah!)
    • zwei benutzerdefinierte Optionen in eine neue zusammengelegt und eine umbenannt
    • Hilfe-Funktion und -Text hinzugefügt
    • bugfix: Links in Zitaten nicht mehr doppelt umwandeln
    • bugfix: Umwandlung in echte Links: \s hat gefehlt
    • bugfix: "VOICEMESSAGE" ist zwar alt, hat aber gefehlt

    Details zu den Befehlen und den Parametern und ihrer Übergabe an das Script gibt es auf der Projekt-Seite des Scripts (Link im ersten Beitrag dieses Threads) - oder mit dem Befehl "Help" an das Script ;).

    Das Script kann weiterhin mit alten und neuen Backups umgehen. Ich habe das Script mit einem Backup aus 2020 und mit neueren aus 2023 malträtiert. Soweit scheint bei mir alles zu funktionieren. Ich hoffe, bei euch auch :thumbup:.

    Keine Ahnung, wann und ob eine nächste Version von mir kommt... vielleicht, wenn Threema das Datenbankformat wieder ändert =O!? mal sehen...

    Grüße

    Update 28.11.2023 - Version 1.4

    Wieder ein paar (kleine) Änderungen.

    Changelog v1.4
    • neue benutzerdefinierte Option hinzugefügt: Klick auf Zitat-Nachricht springt zur zitierten Nachricht
    • URLs in Nachrichten werden nun als klickbare Links ausgegeben
    • Umfrage-Beginn und -Ende haben nun auch einen Absender

    Sodele...meine "Spieltrieb-"Motivation nimmt langsam ab. Ich denke, von der Funktionalität her ist alles wichtige abgedeckt(?).

    Es wird auf jeden Fall noch eine weitere Version geben, wo (u.a.) die benutzerdefinierten Optionen als Parameter direkt dem Script übergeben werden können.

    Danach...mal schauen :/.


    Grüße

    Update 24.11.2023 - Version 1.3

    Eigentlich sollten hier erst mal nur kleine Änderungen erfolgen...am End' ist das Update dann doch etwas größer geworden :saint:.

    Changelog v1.3
    • benutzerdefinierte Optionen hinzugefügt (müssen z.Zt. noch direkt in Script angepasst werden, falls gewünscht)
    • wenn Nachricht/Zitat/Datei nicht vorhanden, gebe ID/Name des fehlenden Objekts aus
    • um die Zeit-Konsistenz beizubehalten, wird "created_at" anstatt "posted_at" als Timestamp benutzt (passt besser, besonders bei Umfragen)
    • wenn Nachricht einen Geändert-Timestamp besitzt, diese Info mit ausgeben
    • benutze Timestamp als MouseOver-Text bei Status-Nachrichten
    • bei Zitaten immer einen Absender benutzen
    • kleine Formatierungs- und Anzeige-Korrekturen bei Umfragen
    • allgemein ein paar Änderungen am Nachrichten-Design in der HTML-Datei
    • noch mehr Anzeigen bei Scriptausführung (u.a. eine Progress-Bar!)
    • Thumbnail-Datei wird nun nicht mehr gelöscht, wenn die originale Datei gefunden wurde
    • den Start des Script unter die Funktionen verschoben (Vorbereitung für spätere Dinge)

    Der Link zum Script steht auf der ersten Seite dieses Threads.


    Ein paar Hintergründe zu den benutzerdefinierten Optionen:

    Bisher wurden die Threema-IDs bei Gruppen-Chats immer mit ausgegeben. Soweit, so gut. Allerdings finde ich es manchmal "schicker", diese nicht mit auszugeben.

    Dafür finde ich es besser, bei Gruppen-Chats auch bei den eigenen Nachrichten den Absender auszugeben. Da dieser (eigener Name + eigene Threema-ID) aber nirgendwo im Threema-Backup zu erfahren ist, blieb mir erst mal nur übrig, diese Infos "hardcodiert" ins Script zu schreiben.

    Und da ich schon mal dabei war... Ich finde es auch "schicker", in 1:1-Chats die Absender mit auszugeben. Einfach der Vollständigkeit halber.

    Da dies aber nur meine Meinung ist, habe ich diese Möglichkeiten optional gestaltet. Jeder, wie er möchte...


    Noch ein Tipp:

    Um eine HTML-Datei erneut zu erzeugen, muss nur noch die *.csv-Datei eine Ebene höher verschoben werden. Die Medien-Dateien, die schon in dem entsprechenden Medien-Verzeichnis stehen, können dort bleiben und werden dort gefunden (da nach dem neuen Zitat-System die evtl. zitierten Dateien ja schon verschoben wurden, sucht das Script diese nun auch in dem Medien-Verzeichnis :thumbup:).

    Grüße

    Sodele...

    ich habe mal meine aktuelle Motivation genutzt und das Konvertierungs-Script auf einer externe Seite gehostet.

    Ausgehend von der 'letzten' aktiven Version von jnL habe ich es etwas weiterentwickelt (u.a. unterstützt es nun die neue Zitat-Funktion von Threema) und stelle diese Entwicklung gerne der Allgemeinheit zur Verfügung. Wer Interesse hat, findet das Script auf dieser Seite:

    threema-csv2html bei codeberg.org

    Weitere Entwicklungen (zumindest) meinerseits werden dort veröffentlicht.


    Aktuell sind noch weitere Anpassungen von mir geplant - z.B. die Aufnahme des Mediendateinamens (nicht nur) wenn die Datei nicht gefunden wird und eine Funktion, die korrespondierende (Gruppen-)Chat ID zu finden ohne manuelles Suchen in den *.csv-Dateien.

    Grüße

    Mit so oder einem ähnlichen Gesicht wie dein verwendeter Smiley war meine Reaktion, als ich deine Nachricht gelesen habe. "Das geht schon?", frug ich mich und habe es ausprobiert. Ohne Erfolg. Ich war in einer Gruppe, habe einen Text zitiert und dann auf die Büroklammer gedrückt, um über die Galerie-Schnellauswahl ein Bild auszuwählen. Ohne groß etwas mehr klicken zu wollen habe ich direkt "Absenden" geklickt. Das Bild wurde zwar verschickt, aber es gibt kein Zitat mehr und somit ist mein Medium ohne Zitatbezug verschickt worden.

    Ui...okay. Ich dachte, ich hätte es so schon mal in einem meiner Chats gesehen. Vielleicht war es aber doch andersrum :rolleyes:... tut mir leid ob der falschen "Freude"... ;)

    Genau so ist es. Und kurz darauf (oder gar damit?) wurde es möglich, dass auch Medien zitiert werden können. Fehlt nur noch, dass man auf ein Zitat mit einem Medium antworten kann - vielleicht kommt das ja noch :)

    Geht schon...ja, das geht schon 8|! Und durch das neue System könnte man sich bei den Zitaten (rekursiv?) durchhangeln bis zur Quelle...naja, wir wollen es ja mal nicht übertreiben :whistling:...

    Eine Onlineplattform zum gemeinsamen Bearbeiten wäre auch denkenswert, die Frage wäre nur wo und wie frei wäre es bearbeitbar, ohne dass ich alles gegenlesen müsste?! Daher: gerne Änderungen einbringen und das Skript dadurch gemeinsam verbessern.

    Ich möchte hier nicht unbedingt ein großes Projekt aufbohren, aber extern bereitstellen hätte schon den Vorteil, daß man relativ unabhängig daran arbeiten könnte. Darf/Kann man hier im Forum auf externe Seiten verlinken? Hab auf die Schnelle keine Infos dazu gefunden...

    Mahlzeit!

    ich bin auf der Suche nach einem HTML-Konverter auf diese Seite gestoßen.

    Erst einmal einen herzlichen Dank an jnL für das tolle Script und den darin enthaltenen Gehirnschmalz :thumbup:.

    Und obwohl das Script schon ein paar Tage alt ist, und Threema doch so einige Dinge in der Zwischenzeit geändert hat, funktioniert es weiterhin solide und tut, was es soll.

    Ich bin u.a. auch auf die Zitat-Problematik gestoßen und habe das mal verfolgt. Das "Problem" ist, daß Threema wohl irgendwann angefangen hat, zitierten Text nicht mehr in dem (neuen) Nachrichten-Datensatz zu speichern, sondern nur noch einen Verweis auf den zitierten Datensatz. Das macht es u.a. möglich, alles mögliche zu zitieren...Text, Bilder, Dateien, ...

    Wie groß ist denn das Interesse, das Script u.a. auf die neue Zitier-Methode zu modernisieren? Und...was sagt denn jnL dazu, daß da evtl. jemand anderes an seinen Code möchte :/?

    (Hintergrund: Ich habe für mich die neue Zitier-Methode schon in das Script implementiert :saint:. Möchte aber "ausserhalb meines Rechners" nicht dem Urheber quer schiessen...)

    Grüße