Simple Helix API makes easy to develop applications for Twitch in couple lines of code
Install with npm:
npm install --save simple-helix-apiCreating 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