Rückgabewerte des @RollButlers
Der @RollButler liefert bei korrektem Aufruf einen einfachen Text oder einen JSON kodierten String zurück, der – je nach Anfrage – recht komplexer Natur sein kann.
Antwort bei Format text, colortext und markdown
In diesem Format wird ohne Metainformationen lediglich der Ergebnistext zurückgeliefert. Je nach gewähltem Format ist der Text mit farblichen Marken (colortext), bzw. im Markdown Format (markdown) gegeben.
Antwort bei Format extended (empfohlen)
Dieses Format ist für einfache Anfragen geeignet, wenn die Antwort lediglich das Würfelergebnis mit minimalen Metainformationen erfordert. Die Rückantwort erfolgt im JSON Format und ist wie folgt aufgebaut:
Feldbezeichnung | Wert | Beispiel | Beschreibung |
iserror | Boolen | false | Ist die Rückmeldung eine Fehlermeldung? Dieses Feld wird auf true gesetzt, wenn z. B. die Anweisung nicht korrekt war. |
message | String | “I rolled 3d6 for you which resulted in **12**.” | Die textuelle Rückmeldung des Ergebnisses mit Markdown Formatierung. |
private | Boolean | false | Die Antwort ist als privat gekennzeichnet, z. B. durch das Kommando /pr (private roll). |
anonymous ? | Boolean | true | Die Antwort sollte anonym gekennzeichnet werden. Dies ist z. B. bei der Nutzung der X-Karte (/xcard) gegeben. |
image ? | String | https://rollbutler.net/img/x-card.png | URL zu einem Bild. Wird z. B. bei Verwendung der X-Karte genutzt. |
log_id ? | Integer | 160620 | ID der Rückmeldung in der Datenbank, erfordert Aufruf mit auf true gesetztem Feld logit. |
Die in der Tabelle mit “?” gekennzeichneten Felder sind optional und werden nur ausgefüllt, wenn entsprechende Werte vorhanden, bzw. angefordert sind.
Antwort bei Format json (Standard)
Dieses Format ist das umfangreichste und komplexeste Datenpaket, dass der @RollButler zurückliefern kann. Dies eignet sich für eine detailierte Auswertung des Würfelvorgangs.
Die folgende Ausgabe ist das Ergebnis eines “/roll 4d8!FEMT 5d6#demonstrativer Aufruf” Aufrufs.
{ "settings": { "lang": "EN" }, "var": [], "comment": "demonstrativer Aufruf", "rollcounter": 2, "expression": { "1": { "command": "roll", "total": 33, "roll": { "1": { "resultstring": " 4 5 5 1=", "success": 0, "fails": 1, "triggers": 0, "misses": 1, "rolls": { "1": { "value": 4, "result": 4 }, "2": { "value": 5, "result": 5 }, "3": { "value": 5, "result": 5 }, "4": { "value": 1, "result": 1, "fail": true, "miss": true }, }, "resulttype": "numeric", "total": 15 }, "2": { "resultstring": " 5 2 3 2 6", "rolls": { "1": { "value": 5, "result": 5 }, "2": { "value": 2, "result": 2 }, "3": { "value": 3, "result": 3 }, "4": { "value": 2, "result": 2 }, "5": { "value": 6, "result": 6 } }, "resulttype": "numeric", "total": 18 } }, "triggers": 0, "misses": 1, "success": 0, "fails": 1, "effectives": -1, "instruction": "4d8!FEMT 5d6", "resulttype": "list", "result": [ [ 18, "num" ], [ 15, "num" ], [ 2, "list" ] ] } }, "chat": [], "initial_instruction": "4d8!FEMT 5d6#demonstrativer Aufruf", "logit": true, "expressions": 1 }
Ergebnis Objekt
Feldbezeichnung | Wert | Beispiel | Beschreibung |
settings | Settings Objekt | Liste von angewandten Parametern für den Aufruf aus /set | |
var | Liste | Liste von im Aufruf definierten Variablen | |
comment | String | Kommentar | Kommentar zum Aufruf |
rollcounter | Integer | 2 | Anzahl der Würfelinstruktionen im Aufruf |
expression | Expression Objekte | ||
chat | Chat Objekt | ||
initial_instruction | String | Initial übergebene Würfelinstruktion | |
logit | Boolean | Status der Ablage des Würfelergebnis in der Datenbank | |
expressions | Integer | 1 |
Settings Objekt
Feldbezeichnung | Wert | Beispiel | Beschreibung |
lang | String | EN | Gewünschte Sprache für die Ergebnisausgabe |
<Parameterbezeichnung> | String | <Wert des Parameters> | Übergebene Parameter und Werte |
Expression Objekt
Für jede Würfelinstruktion gemäß rollcounter wird fortlaufend nummeriert ein Objekt der folgenden Form übergeben.
Feldbezeichnung | Wert | Beispiel | Beschreibung |
resultstring | String | 8#! 5 2 7 | markierte Einzelergebnisse des Wurfs |
success ? | Integer | 1 | Anzahl der Erfolge (aus S oder E) |
fails ? | Integer | 0 | Anzahl der Fehlschläge (aus F) |
triggers ? | Integer | 1 | Anzahl der Trigger (aus T) |
misses ? | Integer | 0 | Anzahl der Patzer (aus M) |
effectives ? | Integer | 1 | Anzahl der effektiven Erfolge (success – fails) |
rolls | Würfel Objekte | Detailinformationen zu den einzelnen Würfen | |
resulttype | String | numeric | Art des Ergebnisses (numeric, text oder list) |
result | Integer/Liste | Gesamtergebnisse | |
reroll ? | Würfel Objekte | Detailinformationen zu explodierenden Würfen | |
total | Integer | 3 | Gesamtsumme/Endergebnis |
Die in der Tabelle mit “?” gekennzeichneten Felder sind optional und werden nur ausgefüllt, wenn entsprechende Werte vorhanden, bzw. angefordert sind.
Liste
Liste von Werten in umgekehrter Reihenfolge (Stack) mit Typbezeichner [Wert => Typ]. Das letzte Tupel gibt die Anzahl der Werte der Liste sowie den Typ “list” an.
Chat Objekt
Feldbezeichnung | Wert | Beispiel | Beschreibung |
to_user_id | Integer | 0 | Empfänger der Nachricht. 0 Kennzeichnet “alle” in der jeweiligen Gruppe. |
message | String | “Test” | Die Chat-Nachricht |
anonymous ? | Boolean | true | Die Nachricht soll anonym dargestellt werden. Dies ist z. B. bei Nutzung der X-Karte (/xcard) der Fall. |
Würfel Objekte
Für jeden Wurf wird fortlaufend nummeriert ein Objekt der folgenden Form übergeben.
Feldbezeichnung | Wert | Beispiel | Beschreibung |
value | Integer/String | 8 | Ergebnis des Wurfs |
result | Integer | 8 | Ergebnis des Wurfs |
explosion ? | Boolean | true | Wurf explodiert |
success ? | Boolean | true | Wurf ist ein Erfolg (aus S oder E) |
trigger ? | Boolean | true | Wurf ist ein Trigger (aus T) |
fail ? | Boolean | false | Wurf ist ein Fehlschlag (aus F) |
miss ? | Boolean | false | Wurf ist ein Patzer (aus M) |
innerroll | Inner Roll Objekte | Detailinformationen zu den inneren Würfen |
Inner Roll Objekt
Wenn der Wurf mit inneren Würfen angefordert wurde, werden diese Würfe hiermit dargestellt. Die inneren Würfe werden in jedem Würfel Objekt fortlaufend nummeriert erfasst.
Feldbezeichnung | Wert | Beispiel | Beschreibung |
value | Integer/String | 8 | Ergebnis des Wurfs |
result | Integer | 8 | Ergebnis des Wurfs |