[Script-Wunsch] Loggen von SW-Verstößen

  • Hallo an alle Coder,

    ich möchte für meinen Verband gerne ein Script schreiben, welches bei Text-Mustern welche sich immer wiederholen, diese als Text-Datei (oder andere Möglichkeit) loggt, so das man es später nachlesen kann.


    Bsp.: SpielerA schreibt im Chat: @SpielerB, Patienten entlassen da Offline Script erkennt das Text-Muster und trägt dies mit Zeitstämpel in eine Text-Datei speichert...


    Dies benötigen wir um SW Verstöße aufzuzeichnen und im Verband zu verarbeiten...

  • Hmm. Im Prinzip eine sehr schöne Idee, die gar nicht mal so schwer umzusetzen ist. ;) Trotzdem eine paar kleine Fragen zur Umsetzung:


    Das Script setzt voraus, dass der Account immer online ist. Ein "Rückwirkendes-Log" ist machbar, aber wird schwierig, wenn es ein Aktiver Verband ist. Sobald das Script weiter als die letzte Seite zurück schauen muss, wird es schwierig. Das nächste Problem ist die Datei an sich. Direkteintrag in eine Datei im Windows wird schwer. Die Google-Tabellen API hat mich bisher immer ausgetrickst. ;( Wie willst du damit umgehen, wenn mehrere Admins das Script gleichzeitig laufen haben? Dann müsste das Script feststellen, dass es bereits einen Eintrag für diesen Verstoß gibt und keinen neuen Anlegen.

    Mecker nicht Rum, mach's besser! Kannst du nicht? Dann halt den Ball flach!8o


    Mein Verband "Sachsen, Dresden und Osterzgebirge"

    "Und Du wünschst dieser Welt

    Dass endlich Hirn vom Himmel fällt

    Es wär' schön, wenn sie verstehen

    Zum Homosapiens gehört nicht nur aufrecht gehen"

  • Würde es auch mit einer SQL Datenbank gehen? Dann könnte man mit einer Variable arbeiten, das eine Meldung zu "SpielerA" für 10 min gesperrt ist und erst dann neu eingetragen werden kann...


    Oder man macht das ganze via phyton, quasi ein ChatBot welcher 24/7 online ist und sobald ein Admin was schreibt er reagiert. (Sofern die AGBs das zulassen) Wäre ja kein Bot welcher das Spielen übernimmt, sondern nur den Chat beobachtet...

  • mit einer SQL Datenbank

    Sicher. Aber die muss halt auch irgendwo gehostet werden. ;) Ich schau mir die Tage nochmal an, ob ich Google Irgendwie dazu überreden kann API Anfragen von Tampermonkey zuzulassen. Wenn ich das nicht hinbekomme, schaue ich mal mit selfhost SQL Datenbanken. Wie die mit Tampermonkey reden, habe ich aber 0 erfahrung. Also erwarte nicht gleich morgen was von mir. XD

    für 10 min gesperrt ist und erst dann neu eingetragen werden kann

    Hmm. Das wird glaube nichts. Wenn ein Spieler zb zu 10 Einsätzen offene S5 hat, dürften diese nur alle 10 Minuten einzeln entlassen werden. Das doof. Dann würde ich doch lieber versuchen das über den Zeitstempel der Nachricht zu machen. Der ist auf volle Sekunden genau.

    ChatBot welcher 24/7 online ist

    Das wäre gar kein Problem. Solange du irgendwo einen Rechner hinstellst, auf dem das LSS 24/7 Läuft, kann dieser "Überwachungsadmin" sauber arbeiten. Dann umgehst du auch den Trödel mit "was passiert wenn mehrere Admins das Script laufen haben". Aber da brauchst du halt auch wieder irgendwo eine Hardware, auf der du den Spaß hosten kannst. Über die AGB Zulässigkeit mache ich jetzt mal keine Vermutung auf, da müssten wir vorher mal den Betreiber fragen, ob der was gegen "immer da" Accounts hat.

    Mecker nicht Rum, mach's besser! Kannst du nicht? Dann halt den Ball flach!8o


    Mein Verband "Sachsen, Dresden und Osterzgebirge"

    "Und Du wünschst dieser Welt

    Dass endlich Hirn vom Himmel fällt

    Es wär' schön, wenn sie verstehen

    Zum Homosapiens gehört nicht nur aufrecht gehen"

  • Ich hatte gerade mal ein bissel Zeit, also gibt es doch schonmal was. Ist aktuell noch sehr benutzerunfreundlich, aber wenn du es 1x richtig eingestellt hast, funktioniert es.


    Vorbereitung

    -Installiere das Tampermonkey-Script welches du hier bekommst.

    -lege dir einen Account auf jotform.com an, diesen brauchst du, um die Nachrichten in eine Tabelle zu schreiben

    -Lege dir einen neuen jotform-API-Schlüssel an:

    -oben rechts auf das Profilbild

    -Einstellungen

    -im Linken Menü auf API

    -"Erstelle einen neuen Schlüssel"

    -nimm diesen Schlüssel in die Zwischenablage

    -füge den Schlüssel in Zeile 16 des Scripts ein


    Tabelle und Formular erstellen

    -lege eine Tabelle an

    -entferne alles was der Wizard dir schon in die Tabelle legt

    -die Erste Spalte soll time heißen

    -die Zweite Spalte soll message heißen

    -Stelle das Formular richtig ein

    -über der Tabelle rechts auf "Formular"

    -"Forumlar bearbeiten"

    -das Eingabefeld für Time anklicken

    -auf das Zahnrad klicken

    -Feldtext "time"

    -"Erweitert"

    -ganz runter Scrollen zu Feld Infos

    -Eindeutiger Name: time

    -Feld IDs #input_4

    -das Eingabefeld für message anklicken

    -auf das Zahnrad klicken

    -Feldtext "message"

    -"Erweitert"

    -ganz runter Scrollen zu Feld Infos

    -Eindeutiger Name: message

    -Feld IDs #input_5

    -Die Formular ID aus der URL in die Zwischenablage nehmen (ewig lange Zahl nach /build/)

    -Füge die Formular-ID in Zeile 15 ein


    Den Meldetext bearbeiten, das Script speichern und in Betrieb setzen

    -in Zeile 31 das Dies ist ein Scripttest durch deine eigene Phrase ersetzen, dabei müssen die beiden Anführungszeichen unbedingt bestehen bleiben

    -die Änderungen im Script mit Strg+S bestätigen und damit speichern

    -eine Testnachricht mit dem Meldetext senden (kann ein /w an dich selber sein)

    -die Abfrage von Tampermonkey mit "ja immer zulassen" bestätigen (in jedem Browser einmalig nötig)


    Das Script sollte nun jedes mal wenn eine Nachricht die die Passphrase enthält auftaucht einen neuen Eintrag in die Tabelle machen. Diese musst du manuell aktualisieren, damit neue Einträge geladen werden. Leider hat Jotform eine beschränkung auf 1000 Einsendungen pro Account. Das heißt nach 1000 Eintragungen, musst du entweder kaufen oder einfach einen neuen Account anlegen. Ich werde später mal schauen, ob ich einen besseren Anbieter finde, der keine Beschränkung drin hat. Mit google bin ich leider gescheitert, weil deren API scheinbar keine Javascriptanfragen durch lässt und die auch so extrem kompliziert sind.


    (Die 4 Zeilen ohne message einfach ignorieren, die habe ich manuell durch API Anfragen gesendet und keine Nachricht hinterlegt)

    Mecker nicht Rum, mach's besser! Kannst du nicht? Dann halt den Ball flach!8o


    Mein Verband "Sachsen, Dresden und Osterzgebirge"

    "Und Du wünschst dieser Welt

    Dass endlich Hirn vom Himmel fällt

    Es wär' schön, wenn sie verstehen

    Zum Homosapiens gehört nicht nur aufrecht gehen"