Leserartikel Discord: Alle Nachrichten löschen

R

R.I.P.er

Gast
Hallo,

Ich wollte euch eigentlich nur 2 Lösungen präsentieren wie ihr zuverlässig eure eigenen Nachrichten auf den Servern löschen könnt ohne sie einzeln immer anwählen zu müssen. Natürlich verschwinden sie nicht komplett, Discord hat sämtliche Backups etc, aber für andere Nutzer sind sie nicht mehr zu sehen. Dazu existieren verschiedene Wege, 2 davon gebe ich euch hier mit. In beiden Fällen findet die Löschung automatisch statt.

- 1. Konsolen Script:
1.1. In der Webversion einloggen: https://discordapp.com/channels/@me
1.2. Den Channel/Chat aufsuchen den man von eigenen Nachrichten befreien möchte.
Die Nummer in der URL ist dann die später benötigte Channel-ID.
1.3. Die 3 Punkte hinter der letzten eigenen Nachricht im Chat anklicken und ID-Kopieren.
Die 3 Punkte sind Vertikal und erscheinen erst bei Mausfahrt über die Nachricht.
1.4. Die Entwickler-Ansicht aufklappen: STRG + SHIFT + i
Application (möglicherweise erst mit den Pfeilsymbolen anwählbar) - Local Storage - https://discordapp.com - token
Diese Zahlen und Buchstabenkombination wird benötigt und sollte sicher aufbewahrt werden da sie wie ein Passwort fungiert.
Sollte token unten noch nicht erscheinen, einfach F5 drücken. Der Text kann mit STRG + c kopiert und woanders mit STRG + v eingefügt werden.
1.5 Nun das Script anpassen:
Javascript:
var lastmsg = "994472198856332701"
var youruser = "SuperIngo"
clearMessages = function(){
    const authToken = "REE44RERTetsdfEFWEFWEF4.Dfdfefsfd._cFtretDFGDFG994"
    const channel = "141272198812332701";
    const baseURL = "https://discordapp.com/api/channels/" + channel + "/messages";
    const headers = {"Authorization": authToken };

    let clock = 0;
    let interval = 500;

    function delay(duration) {
        return new Promise((resolve, reject) => {
            setTimeout(() => resolve(), duration);
        });
    }

    fetch(baseURL + "?before=" + lastmsg, {headers, method: 'GET'})
        .then(resp => resp.json())
        .then(messages => {
            if(typeof messages == "undefined")
            {
                console.log("Falsche ID.");
                throw new Error();
            }
            return Promise.all(messages.map(
            (message) => {
                lastmsg = message.id
                if(message.author.username == youruser)
                {
                    return delay(clock += interval).then(() => fetch(`${baseURL}/${message.id}`, {headers, method: 'DELETE'}));
                }
                else
                {
                    return
                }
            }));
        }).then(() => clearMessages());
}
clearMessages();
Beispiel:
994472198856332701 = ID der letzten Nachricht
SuperIngo = Den Namen die ihr auf dem Server oder Privatnachrichten habt.
REE44RERTetsdfEFWEFWEF4.Dfdfefsfd._cFtretDFGDFG994 = Token
141272198812332701 = Channel ID
Clock und Interval nur abändern sofern gewünscht.
1.6. Oben auf console (wo auch Applications war) und den gesamten (angepassten) Code einfügen.
1.7 Das Script starten mit Enter.
Je nach Anzahl der Nachrichten wird hierfür eine Weile brauchen, währenddessen ist er beschäftigt und sollte am besten gar nicht unterbrochen werden, also keine weiteren Aktionen am Rechner machen. Normal sollte es im Hintergrund laufen, alle Nachrichten sofort löschen und auch keinerlei Fehler ausspucken - macht aber trotzdem. Die Fehler kann man ignorieren. Eventuell das Script mehrmals starten und zum Schluss am besten nochmal den Messenger neu starten.

Quelle: https://gist.github.com/CarletonStuberg/0c838a6248772c6fea1339ddad503cce#gistcomment-2775415
- 2. Macro Script (Meine Empfehlung):
2.1. https://www.autohotkey.com/
2.2. Diesen Code ins Notepad einfügen und als Datei mit der Endung .ahk Speichern.
Code:
^j::

Loop, 100
{
    send, {Up}
    send, ^a
    send, {BS}
    send, {Enter}
    send, {Enter}
    sleep, 500
}
Return
Der Syhntax erklärt sich im Prinzip von allein.
2.3 AutoHotKey Programm starten und die Datei laden. (Einfach die verknüpfte Datei öffnen geht auch)
2.4 In Discord in den gewünschten Channel (Server sowie Privat) gehen
2.5 Das Script starten mit der festgelegten Kombination starten (Im Beispiel linkes STRG + J)

Damit startet das Script und löscht Schrittweise die eigenen Nachrichten, geht dabei recht zügig vor. Währenddessen am besten nichts anderes machen/anklicken, da sonst das Script irgendwas unerwünschtes machen könnte. Falls es doch abgebrochen werden soll, Rechtsklick auf das Tray Icon Script anhalten/schließen etc. Nach der entsprechenden Anzahl hält es ansonsten von selbst an. Es kann sein dass es währenddessen keine Nachrichten findet obwohl noch welche da sind. Dazu die Nachrichten mit der Suche anzeigen und hin scrollen. Meine Erfahrung ist, je nach Umfang der Nachrichten das Programm auch mal neu gestartet werden muss.

PS: Hier ein ähnlich interessantes Ding (erklärt sich von allein und ebenfalls von mir häufig in Benutzung):
https://github.com/Tyrrrz/DiscordChatExporter

Da ich selbst ewig danach suchen musste, hier für euch.
Benutzung auf eigene Gefahr: No Trust, No Fun.
Selbst getestet, es funktioniert.
Bei Fragen einfach schreiben.

Gruß
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: xTex, Nizakh, cm87 und eine weitere Person
sikarr schrieb:
Das zeigt mir eigentlich genau warum man Discord nicht nutzen sollte und ich es auch nicht tue.
Zwar nicht ganz Thema, aber ich würde trotzdem gerne verstehen wie du das meinst. Bei anderen Messengern habe ich doch erst gar nicht die Möglichkeit Nachrichten zu löschen. Bei WhatApp z.B. nur sofern sie noch nicht gesendet wurden. Auf Servern gespeichert werden sie überall. Bei P2P-Basierten habe ich hingegen wieder keine Möglichkeit Offline zu senden. Also in sofern spricht diese kleine aber immerhin vorhandene Kontrolle eher für Discord?
 

Ähnliche Themen

Zurück
Oben