Simple Helix API makes easy to develop applications for Twitch in couple lines of code
Install with npm:
npm install --save simple-helix-api
Creating Helix object
const HelixAPI = require("simple-helix-api");
const Helix = new HelixAPI({
access_token: "xxx",
cliend_id: "xxx"
});
Params for Helix:
Param | Required | Default | Description |
---|---|---|---|
access_token | false | null | Access Token |
client_id | true | null | Client ID of application |
disableWarns | false | false | Disabled warnings in console |
Then you can get your profile ID before start working with API
const { id } = await Helix.getUser(username);
Common methods do not require an access token
Get information about user (example usage: id, profile image, offline image, view count, broadcaster type)
const user = await Helix.getUser(id);
Get channel info like title, game and others
const channel = await Helix.getChannel(id);
Get broadcast information (example usage: realtime viewers count)
const stream = await Helix.getStream(id);
Get broadcast meta information
const meta = await Helix.getStreamMeta(id);
Get first N followers from the end
const followers = await Helix.getFollowers(id, count, after);
Param | Type | Required | Default | Max | Description |
---|---|---|---|---|---|
id | Number | true | null | - | ID of user |
count | Number | false | 20 | 100 | Number of count of followers that you can get |
after | String | false | null | - | Pangination cursor (offset) |
Return an array of all followers. The lead time depends on the number of followers on your channel
const all_followers = await Helix.getAllFollowers(id);
Get simple number of followers count
const count = await Helix.getFollowersCount(id);
Get viewers splitted by categories (broadcaster, admins, staff, moderators, vips, viewers). Attention! This method used username instead of user ID
const viewers = await Helix.getViewers(user_name);
Get game by this ID or name
const game = await Helix.getGame("Overwatch");
Get the top 100 most viewed games on Twitch at the moment
const top = await Helix.getTopGames(count);
Param | Type | Required | Default | Max | Description |
---|---|---|---|---|---|
count | Number | false | 100 | 100 | Number of games |
Attention: access_token is required
Update broadcast information
const response = await Helix.updateStream(id, title, game);
Param | Type | Required | Description |
---|---|---|---|
id | Number | true | User ID |
title | String | true | Stream title |
game | String | true | Game on the stream |
Creating stream marker with description
const marker = await Helix.createMarker(id, description);
Param | Type | Required | Description |
---|---|---|---|
id | Number | true | User ID |
description | String | false | Marker description (can be empty) |
Return an array with markers of specified VOD
const markers = await Helix.getMarkers(id, video_id);
Param | Type | Required | Description |
---|---|---|---|
id | Number | true | User ID |
video_id | String | false | ID of the VOD/video whose stream markers are returned |
Create chatbot to receive messages from Twitch Chat
You must get oauth token
const oauth_token = "XXXXXX";
const bot = Helix.createChatBot(bot_name, oauth_token, user_name);
bot.on("chat", (channel, user, message) => {
const username = user["display-name"];
return console.log(`${username}: ${message}`);
});
Param | Type | Required | Description |
---|---|---|---|
bot_name | String | true | The name of the channel for the bot (you can specify your account nickname) |
ouath_token | String | true | OAuth Token that you receive |
user_name | String | true | The name of the channel from which the bot will receive messages |
You can find events, methods and examples for chatbot here
You can report of any issues here