knuspermagier.de
Ein L und zwei P. Philipp!

Discord Export Viewer

In letzter Zeit versuche ich Kram, der mir schon seit längerem auf dem Herzen liegt, halbwegs schnell mit Hilfe von AI zu erledigen. Heute geht es es um eine kleine Webapp, die den Discord DSGVO-Export halbwegs übersichtlich anzeigt.

Warum?

Wozu brauche ich das? Ich versuche eigentlich jeden Tag ein paar Zeilen in mein Tagebuch zu schreiben, manchmal vergesse ich das aber und so entstehen unschöne Lücken. Wenn ich das Monate später bemerke, kann ich mich natürlich in den seltensten Fällen erinnern, was ich jetzt am 18. April 2025 genau getan habe.

Glücklicherweise gibt es eine gute Quelle, wo ich jeden Tag etwas reinschreibe, und meistens hat es auch eine gewisse Relevanz für den entsprechenden Tag: verschiedene Discord-Server.

Würde es sich nun wirklich nur um einzelne Tage handeln, könnte man wahrscheinlich mit der Suchfunktion in Discord alle eigenen Nachrichten von einem bestimmten Tag suchen, manchmal sind es aber doch ein paar Tage in Folge, die ich rekonstruieren muss, und so dachte ich mir schon länger, dass es spannend wäre, einfach den DSGVO-Export, der alle meine Nachrichten enthält, zu nehmen und entsprechend darzustellen, dass ich mich da kurz durchklicken kann.

Warum erst jetzt?

Ich glaube, meinen ersten Discord-Export habe ich vor zwei Jahren angefordert. Aber die Aufgabe war mir einfach immer zu dumm und zu lästig. Außerdem wusste ich ja, dass die Daten da sind, verarbeiten kann ich sie ja immer noch.

Prompts

Diese drei Prompts lieferten nach vielleicht so 10 Minuten das fertige Ergebnis, an dem ich nichts mehr zu mäkeln hatte. (Sonnet 4.5)

hey. in package/ there are a lot of json exports of the messages i send to different discord channels. please try to understand the schema and build an importer that imports the messages to a sqlite database. in a second step build a basic php app (no react, no stuff, just simple php multi page application) to view all the messages on the different channels and servers. the messages should be displayed grouped by day.

ok, good work so far. now create another entry page, that shows a calendar (yearly, all months, all days) from the start of the messages to the end. every day should be a link to a page that shows all messages for that day across all servers (oldest message at top, newest at bottom). also can you extend the importer to automatically download all the attachments and replace the links to the CDN with local links?

one small change: the day.php view currently displays all messages from the day. it would be better if they were grouped by CHANNEL and not completely jumbled

screenshot-2025-12-30-at-01.54.31.png
Fast 115k Nachrichten??

Fazit

Es ist irgendwie erfrischend, so kleine “könnte man ja mal machen” Sachen kurz abzugeben und am Ende ein benutzbares Produkt zu haben, ohne, dass man sich selber mit langweiligen JSON-Strukturen auseinander setzen muss.

Damit die 10 Minuten KI-Denkzeit nicht ganz umsonst waren, habe ich es auch mal bei Github hochgeladen, vielleicht muss ja noch jemand mal seinen Discord Export anschauen.

(Aber bitte nicht den Code, der sieht echt nach einer PHP-App von 2002 aus. Aber ich hab zumindest einmal drüber geguckt, ob er nicht zufällig alle meine Nachrichten irgendwo ins Internet schickt.)

Kommentare, Feedback und andere Anmerkungen?
Schreib mir eine E-Mail 🤓