core / transform / schema v1
Scores
Durable scores with a REAL Top-N ranking: points, XP, levels, “top chatters”. Add or increment a member’s score, then read the top, a score, or a rank. Scoped to you; optional expiry.
Prerequisites
No connection prerequisite is declared for this node.
Parameters
| Parameter | Type | Description |
|---|---|---|
Operationoperation | select Required | Increment adds points (XP) · Add sets a score outright · Top returns the ranking · All returns every member · Score / Rank read one member · Remove / Clear delete. Options: Increment. Add points to a member (increment), Add. Set a member’s score (add), Top: the ranking (Top N) (top), All: every member on the board (all), Score: one member’s score (score), Rank: one member’s rank (rank), Remove. Drop a member (remove), Clear: reset the board (clear) |
Leaderboard keykey | store_key Required | Which leaderboard to work on. Use a variable to keep one per server. |
Membermember | text Conditionally required | Who to score or read, usually {{user_id}}. Needed for Increment / Add / Score / Rank / Remove.Field conditions{
"visible": {
"key": "operation",
"values": [
"add",
"increment",
"score",
"rank",
"remove"
]
},
"required": {
"key": "operation",
"values": [
"add",
"increment",
"score",
"rank",
"remove"
]
}
} |
Points to addamount | text Optional | Only for Increment: how many points to add (a negative number subtracts). Empty = 1.Field conditions{
"visible": {
"key": "operation",
"values": [
"increment"
]
}
} |
Scorescore | text Conditionally required | Only for Add: the exact score to set for this member.Field conditions{
"visible": {
"key": "operation",
"values": [
"add"
]
},
"required": {
"key": "operation",
"values": [
"add"
]
}
} |
How many (Top)topN | text Optional | Only for Top: how many ranked members to return. Empty = 10.Field conditions{
"visible": {
"key": "operation",
"values": [
"top"
]
}
} |
Orderorder | select Optional | Ranking direction: highest score = rank 1 by default. Options: Highest first (desc), Lowest first (asc) Field conditions{
"visible": {
"key": "operation",
"values": [
"top",
"all",
"rank"
]
}
} |
Expire after (seconds, optional)ttlSeconds | text Optional | Optional: the whole board auto-deletes this many seconds after the last write (e.g. a monthly board). Empty = keeps forever.Field conditions{
"visible": {
"key": "operation",
"values": [
"add",
"increment"
]
}
} |
Also publish asoutputAs | text Optional | Give this node's {{result}} output a name of your own (e.g. "winners"), so downstream nodes can reference {{winners}} directly. Handy when another node also publishes {{result}}, Noria would otherwise silently use whichever one ran last. {{result}} keeps working unchanged either way. |
Inputs and outputs
Inputs
execute- Execute (input)
Outputs
done- Done (output)result- Result (output)count- Count (output)error- Error (output)
Output data schema
[
{
"key": "result",
"type": "any",
"label": "Result",
"description": "A member’s score/rank, or the Top-N ranking (a list of { rank, member, score }). Depends on the operation."
},
{
"key": "count",
"type": "number",
"label": "Count",
"description": "How many members are on the board (or rows returned)."
},
{
"key": "storage_key",
"type": "storage.zset.key",
"label": "Saved item key",
"bindingRole": "selected_target",
"description": "The exact resolved key used by this step, in the current account. Reuse it to read, update or delete the same saved item."
},
{
"key": "storage_kind",
"type": "string",
"label": "Storage structure",
"bindingRole": "current_context",
"description": "The storage structure expected by this step: value, object, list or zset.",
"example": "zset"
}
]Examples and troubleshooting have not yet been reviewed for this contract.
Version and compatibility
This reference follows the current authoring contract. Existing workflows retain their saved node revisions.
Contract identifier
a2b5d89939d2824a284747738af25454fa36a174b93598b42cec6631ecbc614a