Skip to main content

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.

Reads a counter variable.

Read a counterAdvanced Script
const deaths = counters.get("deaths");
async.messages.send(`Deaths: ${deaths}`);
Missing counter defaults to zeroAdvanced Script
const resets = counters.get("resets");
async.messages.send(`Resets: ${resets}`);

API reference

counters.get

counters.get(name)
Input
name
string

Counter name.

Output
number

Current counter value. Missing counters are treated as 0.

Check whether a counter exists

Use counters.exists() when 0 and "missing" need different handling.

Checks whether a counter exists without treating a missing counter as zero.

Existing counterAdvanced Script
if (counters.exists("deaths")) {
async.messages.send("Deaths counter exists.");
} else {
async.messages.send("Deaths counter is missing.");
}
Missing counterAdvanced Script
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
name
string

Counter name.

Output
boolean

True when the counter exists.

Set a counter

Use this to replace the counter with an exact value. If the counter does not exist yet, Kicklet creates it.

Sets a counter variable.

Reset a counterAdvanced Script
counters.set("deaths", 0);
async.messages.send("Death counter reset.");

API reference

counters.set

counters.set(name, value)
Input
name
string

Counter name.

value
number

New counter value.

Output
number

Stored counter value.

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.

Adds to a counter variable.

Add to a counterAdvanced Script
const deaths = counters.add("deaths", 1);
async.messages.send(`The streamer died ${deaths} times.`);

API reference

counters.add

counters.add(name, value)
Input
name
string

Counter name.

value
number

Amount to add. Use a negative value to subtract.

Output
number

Updated counter value.

Async counter wrappers

Async wrapper for counters.get(name).

API reference

async.counters.get

async.counters.get(name)
Input
name
string

Counter name.

Output
number

Current counter value. Missing counters are treated as 0.

Async wrapper for counters.exists(name).

API reference

async.counters.exists

async.counters.exists(name)
Input
name
string

Counter name.

Output
boolean

True when the counter exists.

Async wrapper for counters.set(name, value).

API reference

async.counters.set

async.counters.set(name, value)
Input
name
string

Counter name.

value
number

New counter value.

Output
number

Stored counter value.

Async wrapper for counters.add(name, value).

API reference

async.counters.add

async.counters.add(name, value)
Input
name
string

Counter name.

value
number

Amount to add. Use a negative value to subtract.

Output
number

Updated counter value.