oder: Google Sheet's + Splinterlands API = SplinterSheet
SplinterSheet - auch Projektname Splinterview, Änderung wg. Tagging
Dieser Post unterstützt den Power Up Day - mach mit!
Irgendwie hat es mit zu Splinterlands verschlagen, vielleicht lag das an dem Magic (The Gathering) Style der mir sehr gut gefällt oder ist dem geschuldet, dass ich bei EVE Online nicht mehr wirklich biss habe. Nach anfänglichen Lernen und Verstehen wie sich die Strategien im Spiel am besten umsetzen lassen habe ich etwas vermisst. Statistik. Ich liebe es auf Zahlen und Diagrammen zu sehen um meinem Progress zu frönen.
Also machte ich mich auf die Suche, fand aber bei meiner Recherche nichts was mir zusagt. Auch in meiner neuen Gilde (Gildenverbund Legendary Dragons) konnte mir keiner so richtig weiterhelfen. Oder ich habe einfach nicht den richtigen gefragt...
Für EVE hatte ich über mehrere Jahre ein umfangreiches Google Sheet verfasst, was keine Wünsche offen ließ. Also muss das nun auch für Splinterlands her. So war das Projekt SplinterView geboren. Die Codebase für API Abfragen fix Kopiert und dann auf die Suche nach der verlorenen Dokumentation der API.
Entwickler, wenn Ihr das hier lest, bitte, verfasst eine Dokumentation die einfach zu finden ist und alle Möglichkeiten zur Abfrage beinhaltet. Ich kam quasi aus dem Schlaraffenland der Doku (von EvE). Ich fand für Splinerlands leider nichts offizielles. Andere Programmierer haben sich auf GitHub verschiedenen Code und etwas Doku hinterlegt, dass muss aber auch erst gefunden werden und ist bei weitem mit Sicherheit nicht Allumfänglich.
Sollte es eine Doku geben, bitte schreibt mir einen Kommentar, dann werde ich den Absatz oben Streichen und behaupte ab diesem Zeitpunkt das Gegenteil.
Ich möchte hier nur oberflächlich auf das Sheet in der Aktuellen Fassung (v008) eingehen. Derzeit ist es WORK IN PROGRESS und es fehlt noch viel Feinschliff. Geschrieben ist das Projekt in JavaScript bzw. Google APPs. Die Lizenzierung setze ich bewusst auf GPLv3.
TIP: Wenn ihr Sicherheitsbedenken habt, erstellt euch einfach einen neuen GoogleAccount nur für das Sheet, macht ein Code Review
Ausführen in Abwesenheit (Trigger)
Das Sheet braucht einen Hive AccountName ohne @
(Eine Beispieldatei liegt im Order)
Soweit vorhanden, werden zu jedem Datensatz die gesamte Transaktion als Details gespeichert
Tabelle Liga-Battles: Schreibt automatisch alle Battles chronologisch in eine Liste
Kommen wir zu den Diagrammen und der Statistik:
Tabelle DiagrammData: Fasst alle Daten grob zusammen, hier als Vorschlag. Wenn ihr andere Braucht -> einfach ändern ;)
Tabelle Overwatch: DiagrammData als Diagramm
(Anzahl der Tag einstellbar, hier wird auch der Account eingetragen)
Ich möchte hier etwas auf das Sheeteigene Menü eingehen.
Full Update:
Macht alle Einzelupdates hintereinander
Update <Sheet>:
Aktualisiert genau das genannte <Sheet>
Admin: (Verwaltung)
Rental (in) VERIFY
Versucht die Daten in Rental (in) zu vervollständigen. Klappt nur wenn die API auch die notwendigen Informationen noch vorhält.
Create Trigger
Um das Sheet automatisch zu Befüllen sind Trigger notwendig. Diese werden hier generiert.
WipeData
Damit wird das Sheet geleert. Betrifft nur die Tabellen die per Update befüllt werden
WipeData, set current Block
Wie WipeData, es wird jedoch als Startblock der aktuelle der Chain genommen. Dies kann helfen wenn das erste Update zu groß ist oder ihr ab einem gewissen Block starten wollt.
Das soll es auch erstmal gewesen sein. Für die, die das Sheet TESTEN wollen ist der Link oben hinterlegt. Ich betone hier nochmals Testen. Beachtet bitte ebenso die Readme und die Datei Versionen im Ordner. Dort schreibe ich auch immer Änderungen oder Einschränkungen.
Feedback oder Wünsche gerne an mich oder hinterlasst einen Kommentar.
PS: ToDo: Translate to english.