Frage zum Forum

Wie man User mit verstecktem Profil ignorieren kann

Discourse hat es leider verplant, das Formular zum Stummschalten und Ignorieren von Usern in den Profilen von Usern mit versteckter Aktivität anzuzeigen.
Es ist aber mit einem kleinen Work-Around trotzdem noch
möglich, da die Funktionalität auch für diese User enthalten ist, aber eben nur nicht angezeigt wird.

Ich habe das Tutorial mit Chrome erstellt, falls du Firefox benutzt, gib Bescheid.

Vorbereitungen

  1. Du musst dich auf dem Blizzard-Forum befinden, wo du einen User ignorieren möchtest.
  2. Du musst eingeloggt sein.
  3. Du solltest wissen, wie man die Browser-Konsole öffnet. Falls du es nicht weisst, kannst du zum Punkt "Wie öffnet man die Browser-Konsole gehen, ansonsten kannst du diesen überspringen.

Wie öffnet man die Browser-Konsole

Die Browser-Konsole kann man mit einer Tastenkombination öffnen.
Für Mac: Option + Command + J
Für Windows Umschalt + CTRL + J

Das sieht dann so aus:
https://abload.de/img/browser_konsoledoj1d.png

Mein Browser ist auf Englisch eingestellt, statt „Console“ würde der Tab dann „Konsole“ heissen. Wenn du dort gelbe oder rote Nachrichten vorfindest, mach dir darum keine Sorgen, das ist nicht unser Problem :wink:

Mit dem X oben rechts kannst du sie dann wieder schliessen.

Der Code

const battleTag = 'Marjin-2299'
const until = '2021-02-01 08:00+01:00'
const csrf_token = 'blibblablub';

function sendData(btag, ignore) {
    const formData = new FormData();

    if (ignore) {
        formData.append('notification_level', 'ignore');
        formData.append('expiring_at', until);
    }
    else {
        formData.append('notification_level', 'normal');
    }
    

    fetch(`https://eu.forums.blizzard.com/de/overwatch/u/${btag}/notification_level.json`, {
      method: 'PUT',
      headers: {'discourse-logged-in': 'true', 'discourse-present': 'true',
      'x-requested-with': 'XMLHttpRequest', 'x-csrf-token': csrf_token},
      body: formData
    })
}

sendData(battleTag, true)

Das ist der Code, der die Anfrage an das Forum senden wird, um den Nutzer zu ignorieren.
Am besten kopierst du dir ihn in einen Text-Editor (z.B hier im Forum oder Word), da du Anpassungen für die ersten drei Linien vornehmen musst und du so einen einfacheren Überblick hast
als danach an der Stelle, wo wir den Code einfügen und abschicken.

BattleTag

Momentan steht dort ‚Marjin-2299‘, da ich ihn zum Testen benutzt habe. Die beiden ‚‘ müssen erhalten bleiben, der Bindestrich kommt anstelle des # Zeichens.
Dieses Feld muss mit dem zu ignorierenden User ersetzt werden.

Den BattleTag findest du, in dem du auf das Profil des Users gehst und ihn dann aus der URL kopierst.
Klicke dazu auf den Avatar oder Namen des Forum Users, klicke auf „Aktivität anzeigen“, dann findest du den BTAG hier:
https://abload.de/img/btag_findenteje2.png

until

Dieses Feld gibt an, bis wann du den User ignorieren möchtest. Auch hier die beiden ‚‘ aussenrum drinlassen!
Das Format ist JJJJ-MM-TT Uhrzeit, also z.B 2021-02-01 08:00+01:00 ignoriert bis zum 1. Februar 2021.

csrf_token

Das ist eine Zeichenfolge, die sich immer wieder ändert, aber wichtig ist, damit der Server deine Anfrage akzpetiert.
Wichtig ist, dass du diesen Token niemandem zeigst, auch mir nicht!
Ich zeige dir Schritt für Schritt, wie du den momentan gültigen erhalten kannst, den du dann auch zwischen den ‚‘ einfügst.

Dieser Token wird bei jeder Anfrage verwendet, um ihn also auslesen zu können, müssen wir eine Anfrage machen.
Gehe dazu auf das Profil eines Users mit sichtbaren Profil, wir werden ihn zum Erhalten des Tokens kurz ignorieren, aber du kannst
den User dann danach wieder entblocken.

Bevor du ihn ignorierst, müssen wir den Netzwerk-Tab deines Browsers offen halten.
Diesen öffnest du, indem du zuerst die Konsole öffnest, dann klickst du auf den Netzwerk-Tab:
https://abload.de/img/netzwerk_tabvvk2t.png

Danach ignorierst du den User (vorübergehend), Zeitraum spielt keine Rolle.

Nach dem Klicken auf „Ignorieren“, suchst du in dem Network-Tab die Anfrage mit „notification_level.json“ (wahrscheinlich musst du scrollen), die sieht so aus:
https://abload.de/img/richtige_anfrageorj1q.png

Klicke darauf und es sollten sich Details zu dieser Anfrage öffnen:
https://abload.de/img/anfrage_detailsrekke.png

Danach fast komplett runterscrollen, du kannst das „Response Headers“ auch zuklappen.

Bei der Kategorie „Request Headers“ gibt es ein Feld „x-csrf-token“ (hat eine stattliche Grösse :P), das ist der Token.
https://abload.de/img/token20j5g.png

Ignorieren

Sobald ihr im Text-Editor die drei ersten Linien angepasst habt (BattleTag, until, token), kannst du den Code kopieren, öffnest die Browser-Konsole und fügst den Code ins unterste Eingabefeld ein.

Hier seht ihr, welches Feld ich meine:
https://abload.de/img/konsole_eingabecwj6v.png

Drück Enter und voilà, ein weiterer User ist ignoriert :slight_smile:
Die Seite nachladen und dann ist er fortan ignoriert.

Der Token ist für eine gewisse Zeit gültig, du kannst also dann auch direkt andere Leute für denselben Zeitraum ignorieren, wenn du danach folgendes eingibstt und Enter drückst:
sendData('Mirri-21125', true)

Mirri-21125 mit dem BattleTag des nächsten Users ersetzen.
Wenn du statt true false schreibst, kannst du den User wieder entblocken.

Falls du die Seite neulädst, kannst du zwar auch noch denselben Token nutzen, musst aber wieder den gesamten Code oben einfügen.

3 Likes