About
Simple Helix API makes easy to develop applications for Twitch in couple lines of code
Installation
Install with npm:
npm install --save simple-helix-api
Usage
Creating Helix object
const HelixAPI = require("simple-helix-api");
const Helix = new HelixAPI({
access_token: "xxx",
cliend_id: "xxx"
});
Params for Helix:
access_token | false | null | Access Token |
client_id | true | null | Client ID of application |
increaseRate | false | false | Use Bearer instead of OAuth to increase Rate Limit |
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);
Increase Rate
This option uses Bearer authorization instead of OAuth, which allows you to increase the number of requests per minute to 800 instead of 30.
If you want to use this, you need to know that methods like updateStream(), createMarker()
force OAuth authorization.
Common methods
Common methods do not require an access token
Get User
Get information about user (example usage: id, profile image, offline image, view count, broadcaster type)
const user = await Helix.getUser(id);
Get Channel
Get channel info like title, game and others
const channel = await Helix.getChannel(id);
Get Stream
Get broadcast information (example usage: realtime viewers count)
const stream = await Helix.getStream(id);
Get Stream Meta
Get broadcast meta information
const meta = await Helix.getStreamMeta(id);
Get Followers
Get first N followers from the end
const followers = await Helix.getFollowers(id, count, after);
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) |
Get All Followers
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 Followers Count
Get simple number of followers count
const count = await Helix.getFollowersCount(id);
Get Viewers
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
Get game by this ID or name
const game = await Helix.getGame("Overwatch");
Get Top Games
Get the top 100 most viewed games on Twitch at the moment
const top = await Helix.getTopGames(count);
count | Number | false | 100 | 100 | Number of games |
Other
Update Stream
Attention: access_token is required
Update broadcast information
const response = await Helix.updateStream(id, title, game);
id | Number | true | User ID |
title | String | true | Stream title |
game | String | true | Game on the stream |
Create Stream Marker
Creating stream marker with description
const marker = await Helix.createMarker(id, description);
id | Number | true | User ID |
description | String | false | Marker description (can be empty) |
Get Stream Markers
Return an array with markers of specified VOD
const markers = await Helix.getMarkers(id, video_id);
id | Number | true | User ID |
video_id | String | false | ID of the VOD/video whose stream markers are returned |
Create Chatbot
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}`);
});
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
Issues
You can report of any issues here