Channel Data
Channel data reads information from the Kick channel or Kicklet account. Use it when a response should mention the stream title, category, viewer count, follower count, channel username, uptime, or follow age.
Channel Username
Returns the Kick username of the channel owner/account.
- Engine v2
- Engine v1
Returns the Kick username of the channel owner/account.
API reference
channel.username
channel.username()
Input
This helper does not take input parameters.
Output
stringChannel username.
Use the injected user context.
async.messages.send(`Channel username: ${user.kickUsername}`);
Channel username: {{kick.Username}}
Advanced Script:
const username = Kick.getUsername();
Channel Slug
Returns the Kick slug of the channel owner/account.
- Engine v2
- Engine v1
Returns the Kick slug of the channel owner/account.
API reference
channel.slug
channel.slug()
Input
This helper does not take input parameters.
Output
stringChannel slug.
async.messages.send(`Channel slug: ${user.kickSlug}`);
Channel slug: {{kick.Slug}}
Advanced Script:
const slug = Kick.getSlug();
Followers
Returns the channel follower count.
- Engine v2
- Engine v1
Returns the channel follower count.
API reference
channel.followers
channel.followers()
Input
This helper does not take input parameters.
Output
numberFollower count.
const followers = channel.followers();
async.messages.send(`The channel has ${followers} followers.`);
The channel has {{kick.Followers}} followers.
Advanced Script:
const followers = Kick.getChannel().then((channel) => channel.followers_count);
Current Viewers
Returns the current viewer count from the live stream. If the channel is offline, the value is 0.
- Engine v2
- Engine v1
Returns the current viewer count from the live stream. If the channel is offline, the value is 0.
API reference
channel.viewers
channel.viewers()
Input
This helper does not take input parameters.
Output
numberCurrent live viewer count.
const viewers = channel.viewers();
async.messages.send(`Current viewers: ${viewers}`);
For Kicklet's active chatters instead of Kick's live viewer count, use stats.activeViewers() on the Viewer Activity page.
Current viewers: {{kick.Viewers}}
Stream Title
Returns the current Kick stream title. If the channel is offline or the title cannot be loaded, the result is empty.
- Engine v2
- Engine v1
Returns the current Kick stream title. If the channel is offline or the title cannot be loaded, the result is empty.
API reference
channel.title
channel.title()
Input
This helper does not take input parameters.
Output
stringCurrent stream title, or an empty string when unavailable.
const title = channel.title();
async.messages.send(`Stream title: ${title}`);
Use streamTitle.setAutoTemplate(...) when v2 code should update Kicklet's automatic stream title source.
Stream title: {{kick.Title}}
Set Stream Title Automation
Updates Kicklet's automatic stream title source. In v2, streamTitle.setAutoTemplate(...) keeps the current active state: editing an inactive title is allowed, while updating an already active title requires premium because it can update the live automation. In v1, SetAutoTitle updates the title template.
- Engine v2
- Engine v1
Returns the current stream category name. If the stream is offline or no category is available, the result is empty.
API reference
channel.category
channel.category()
Input
This helper does not take input parameters.
Output
stringCurrent stream category, or an empty string when unavailable.
streamTitle.setAutoTemplate("Follower Goal: {{channel.followers()}}/15000");
streamTitle.setAutoTemplate(...) returns the saved auto title object:
{
"active": false,
"title": "Follower Goal: {{channel.followers()}}/15000",
"lastUpdate": "2026-05-08T11:48:44Z",
"templateVersion": "v2",
"templateType": "template"
}
{{kicklet.SetAutoTitle "Follower Goal: {{kick.Followers}}/15000"}}
Advanced Script:
Kicklet.setAutoTitle("Follower Goal: {{kick.Followers}}/15000");
Enable Stream Title Automation
Turns Kicklet's automatic stream title updates on or off. Enabling stream title automation requires premium.
- Engine v2
- Engine v1
Returns how long the current stream has been live. If the stream is offline or the start time cannot be read, the result is empty or zero.
API reference
channel.uptime
channel.uptime()
Input
This helper does not take input parameters.
Output
stringFormatted stream uptime, or an empty string when unavailable.
streamTitle.enableAuto();
Use streamTitle.disableAuto() to turn the automation off again. Use streamTitle.setAutoActive(active) when the active state should come from a variable or condition.
streamTitle.enableAuto(), streamTitle.disableAuto(), and streamTitle.setAutoActive(...) return true when the active state was updated.
Async wrappers:
Async wrapper for streamTitle.setAutoTemplate(template).
API reference
async.streamTitle.setAutoTemplate
async.streamTitle.setAutoTemplate(template)
Input
templatestringStream title template.
Output
objectSaved auto title object.
Async wrapper for streamTitle.setAutoActive(active).
API reference
async.streamTitle.setAutoActive
async.streamTitle.setAutoActive(active)
Input
activebooleanWhether stream title automation should be active.
Output
booleanTrue when the active state was updated.
Async wrapper for streamTitle.enableAuto().
API reference
async.streamTitle.enableAuto
async.streamTitle.enableAuto()
Input
This helper does not take input parameters.
Output
booleanTrue when the active state was updated.
Async wrapper for streamTitle.disableAuto().
API reference
async.streamTitle.disableAuto
async.streamTitle.disableAuto()
Input
This helper does not take input parameters.
Output
booleanTrue when the active state was updated.
{{kicklet.SetAutoTitleActive true}}
Advanced Script:
Kicklet.setAutoTitleActive(true);
Category
Returns the current stream category name. If the stream is offline or no category is available, the result is empty.
- Engine v2
- Engine v1
Updates Kicklet's automatic stream title source.
API reference
streamTitle.setAutoTemplate
streamTitle.setAutoTemplate(template)
Input
templatestringStream title template.
Output
objectSaved auto title object.
const category = channel.category();
async.messages.send(`Category: ${category}`);
Category: {{kick.Category}}
Uptime
Returns how long the current stream has been live. If the stream is offline or the start time cannot be read, the result is empty or zero.
- Engine v2
- Engine v1
Turns Kicklet's automatic stream title updates on.
API reference
streamTitle.enableAuto
streamTitle.enableAuto()
Input
This helper does not take input parameters.
Output
booleanTrue when the active state was updated.
Turns Kicklet's automatic stream title updates off.
API reference
streamTitle.disableAuto
streamTitle.disableAuto()
Input
This helper does not take input parameters.
Output
booleanTrue when the active state was updated.
Turns Kicklet's automatic stream title updates on or off.
API reference
streamTitle.setAutoActive
streamTitle.setAutoActive(active)
Input
activebooleanWhether stream title automation should be active.
Output
booleanTrue when the active state was updated.
const uptime = channel.uptime();
async.messages.send(`The stream has been live for ${uptime}.`);
For numeric logic, use seconds:
Returns how long the current stream has been live in seconds. If the stream is offline or the start time cannot be read, the result is zero.
API reference
channel.uptimeSeconds
channel.uptimeSeconds()
Input
This helper does not take input parameters.
Output
numberStream uptime in seconds, or 0 when unavailable.
const seconds = channel.uptimeSeconds();
async.messages.send(`Uptime seconds: ${seconds}`);
The stream has been live for {{kick.Uptime}}.
Channel Object
Returns the raw Kick channel object for the channel owner/account.
- Engine v2
- Engine v1
Returns the raw Kick channel object for the channel owner/account.
API reference
channel.data
channel.data()
Input
This helper does not take input parameters.
Output
objectChannel data object with username, slug, follower count, live status, title, category, and uptime fields.
Returns whether the Kick channel is currently live.
API reference
channel.isLive
channel.isLive()
Input
This helper does not take input parameters.
Output
booleanTrue when the channel is live.
Returns when the current stream started. If the stream is offline or the start time cannot be read, the result is empty.
API reference
channel.startedAt
channel.startedAt()
Input
This helper does not take input parameters.
Output
stringStream start timestamp, or an empty string when unavailable.
const current = channel.data();
async.messages.send(`${current.title} - ${current.followers} followers`);
channel.data() returns a normalized Kicklet channel object:
{
"username": "exampleUser",
"slug": "exampleuser",
"followers": 12345,
"viewers": 87,
"title": "Building Kicklet commands",
"category": "Just Chatting",
"isLive": true,
"startedAt": "2026-05-08T09:14:32Z",
"uptimeSeconds": 9252,
"uptime": "2h 34m"
}
When the channel is offline, isLive is false, viewers is 0, and stream-specific fields such as title, category, startedAt, and uptime can be empty.
JavaScript only:
const channel = Kick.getChannel().then((resp) => resp);
Channel User
Returns Kick channel-user information for a viewer in the current channel. In v1 template code, this is mainly used through kick.FollowAge.
- Engine v2
- Engine v1
Follow age:
const followAge = channel.followAge(sender.username);
async.messages.send(`${sender.username} follows since ${followAge}.`);
Channel user object:
const viewer = channel.user(sender.username);
async.messages.send(`${viewer.username} subscribed for ${viewer.subscribedFor} months.`);
The v2 renderer limits direct channel-user lookups to a small number per render to protect the Kick API.
Async channel wrappers
Async wrapper for channel.data().
API reference
async.channel.data
async.channel.data()
Input
This helper does not take input parameters.
Output
objectChannel data object with username, slug, follower count, live status, title, category, and uptime fields.
Async wrapper for channel.username().
API reference
async.channel.username
async.channel.username()
Input
This helper does not take input parameters.
Output
stringChannel username.
Async wrapper for channel.slug().
API reference
async.channel.slug
async.channel.slug()
Input
This helper does not take input parameters.
Output
stringChannel slug.
Async wrapper for channel.followers().
API reference
async.channel.followers
async.channel.followers()
Input
This helper does not take input parameters.
Output
numberFollower count.
Async wrapper for channel.viewers().
API reference
async.channel.viewers
async.channel.viewers()
Input
This helper does not take input parameters.
Output
numberCurrent live viewer count.
Async wrapper for channel.title().
API reference
async.channel.title
async.channel.title()
Input
This helper does not take input parameters.
Output
stringCurrent stream title, or an empty string when unavailable.
Async wrapper for channel.category().
API reference
async.channel.category
async.channel.category()
Input
This helper does not take input parameters.
Output
stringCurrent stream category, or an empty string when unavailable.
Async wrapper for channel.isLive().
API reference
async.channel.isLive
async.channel.isLive()
Input
This helper does not take input parameters.
Output
booleanTrue when the channel is live.
Async wrapper for channel.startedAt().
API reference
async.channel.startedAt
async.channel.startedAt()
Input
This helper does not take input parameters.
Output
stringStream start timestamp, or an empty string when unavailable.
Async wrapper for channel.uptimeSeconds().
API reference
async.channel.uptimeSeconds
async.channel.uptimeSeconds()
Input
This helper does not take input parameters.
Output
numberStream uptime in seconds, or 0 when unavailable.
Async wrapper for channel.uptime().
API reference
async.channel.uptime
async.channel.uptime()
Input
This helper does not take input parameters.
Output
stringFormatted stream uptime, or an empty string when unavailable.
Async wrapper for channel.user(username).
API reference
async.channel.user
async.channel.user(username)
Input
usernamestringKick username.
Output
objectChannel viewer object.
Async wrapper for channel.followAge(username).
API reference
async.channel.followAge
async.channel.followAge(username)
Input
usernamestringKick username.
Output
stringFormatted follow age, or an empty string when unavailable.
Async wrapper for channel.followAgeSeconds(username).
API reference
async.channel.followAgeSeconds
async.channel.followAgeSeconds(username)
Input
usernamestringKick username.
Output
numberFollow age in seconds, or 0 when unavailable.
Async wrapper for channel.followingSince(username).
API reference
async.channel.followingSince
async.channel.followingSince(username)
Input
usernamestringKick username.
Output
stringFollow start timestamp, or an empty string when unavailable.
Follow age:
{{sender.String}} follows since {{kick.FollowAge sender.String}}.
Advanced Script:
const channelUser = Kick.getChannelUser("viewerName").then((resp) => resp);
The v1 renderer limits direct channel-user lookups to a small number per render to protect the Kick API.