Counters
Counters are named whole numbers stored by Kicklet. Use them for deaths, wins, attempts, command usage, and stream goals.
Read a counter
Use this when a command should display the current value of a counter. If the counter does not exist, counters.get() returns 0.
- Engine v2
- Engine v1
Reads a counter variable.
const deaths = counters.get("deaths");
async.messages.send(`Deaths: ${deaths}`);
const resets = counters.get("resets");
async.messages.send(`Resets: ${resets}`);
API reference
counters.get
counters.get(name)
Input
namestringCounter name.
Output
numberCurrent counter value. Missing counters are treated as 0.
Engine v1 response example:
Deaths: {{kicklet.GetCounter "deaths"}}
Advanced Script example:
Kicklet.getCounter("deaths").then((resp) => resp.data);
Check whether a counter exists
Use counters.exists() when 0 and "missing" need different handling.
- Engine v2
- Engine v1
Checks whether a counter exists without treating a missing counter as zero.
if (counters.exists("deaths")) {
async.messages.send("Deaths counter exists.");
} else {
async.messages.send("Deaths counter is missing.");
}
if (counters.exists("resets")) {
async.messages.send("Resets counter exists.");
} else {
async.messages.send("Resets counter is missing.");
}
API reference
counters.exists
counters.exists(name)
Input
namestringCounter name.
Output
booleanTrue when the counter exists.
Engine v1 helpers in Engine v1 read missing counters as 0.
Set a counter
Use this to replace the counter with an exact value. If the counter does not exist yet, Kicklet creates it.
- Engine v2
- Engine v1
Sets a counter variable.
counters.set("deaths", 0);
async.messages.send("Death counter reset.");
API reference
counters.set
counters.set(name, value)
Input
namestringCounter name.
valuenumberNew counter value.
Output
numberStored counter value.
Engine v1 response example:
{{kicklet.SetCounter "deaths" 0}}
Death counter reset.
Advanced Script example:
Kicklet.setCounter("deaths", 0).then((resp) => resp.data);
Add to a counter
Use this to increase or decrease a counter. The helper returns the new value. If the counter does not exist yet, Kicklet creates it with the added value.
- Engine v2
- Engine v1
Adds to a counter variable.
const deaths = counters.add("deaths", 1);
async.messages.send(`The streamer died ${deaths} times.`);
API reference
counters.add
counters.add(name, value)
Input
namestringCounter name.
valuenumberAmount to add. Use a negative value to subtract.
Output
numberUpdated counter value.
Engine v1 response example:
The streamer died {{kicklet.CounterAdd "deaths" 1}} times.
Advanced Script example:
Kicklet.counterAdd("deaths", 1).then((resp) => resp.data);
Async counter wrappers
Async wrapper for counters.get(name).
API reference
async.counters.get
async.counters.get(name)
Input
namestringCounter name.
Output
numberCurrent counter value. Missing counters are treated as 0.
Async wrapper for counters.exists(name).
API reference
async.counters.exists
async.counters.exists(name)
Input
namestringCounter name.
Output
booleanTrue when the counter exists.
Async wrapper for counters.set(name, value).
API reference
async.counters.set
async.counters.set(name, value)
Input
namestringCounter name.
valuenumberNew counter value.
Output
numberStored counter value.
Async wrapper for counters.add(name, value).
API reference
async.counters.add
async.counters.add(name, value)
Input
namestringCounter name.
valuenumberAmount to add. Use a negative value to subtract.
Output
numberUpdated counter value.