New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

simple-helix-api

Package Overview
Dependencies
Maintainers
1
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

simple-helix-api

The Simple Helix API allows developers to easily develop applications for Twitch

  • 1.1.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

About

Simple Helix API makes easy to develop applications for Twitch in couple lines of code

Installation

Install with yarn:

yarn add simple-helix-api

Usage

Creating Helix object

const HelixAPI = require("simple-helix-api"); // also you can user es6 import
const Helix = new HelixAPI({
    access_token: "xxx",
    cliend_id: "xxx"
});

Params for Helix:

ParamRequiredDefaultDescription
access_tokenfalsenullAccess Token
client_idtruenullClient ID of application
increaseRatefalsefalseUse Bearer instead of OAuth to increase Rate Limit
disableWarnsfalsefalseDisabled 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.

The fields indicates as params? are optional by default. You can read about all available optional params here

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 Clips

Gets clip information by clip ID (one or more), broadcaster ID (one only), or game ID (one only)

const clips = await Helix.getClips(user_id, params?);

Get All Clips

Gets all clips of channel

const all_clips = await Helix.getAllClips(user_id);

Get Stream

Get broadcast information (example usage: realtime viewers count)

const stream = await Helix.getStream(id);

Get Streams

Gets information about active streams. Streams are returned sorted by number of current viewers, in descending order. Across multiple pages of results, there may be duplicate or missing streams, as viewers join and leave streams.

const streams = await Helix.getStreams(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?);
ParamTypeRequiredDefaultMaxDescription
idNumbertruenull-ID of user
countNumberfalse20100Number of count of followers that you can get
afterStringfalsenull-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);

Search Categories

Returns a list of games or categories that match the query via name either entirely or partially

const game = await Helix.searchCategories("League of", params?);

Search Channels

Returns a list of channels (users who have streamed within the past 6 months) that match the query via channel name or description either entirely or partially. Results include both live and offline channels

const game = await Helix.searchChannels("InfiniteHorror", params?);

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?);
ParamTypeRequiredDefaultMaxDescription
countNumberfalse100100Number of games

Get Banned Users

Returns all banned and timed-out users in a channel

const game = await Helix.getBannedUsers(id, params?);

Get Moderators

Returns all moderators in a channel

const moderators = await Helix.getModerators(id, params?);

Get Stream Key

Gets the channel stream key for a user

const key = await Helix.getStreamKey(id);

Get Bits Leaderboard

Gets a ranked list of Bits leaderboard information for an authorized broadcaster

const leaders = await Helix.getBitsLeaderboard(params?);

Get Bits Leaderboard

Retrieves the list of available Cheermotes, animated emotes to which viewers can assign Bits, to cheer in chat. Cheermotes returned are available throughout Twitch, in all Bits-enabled channels

const leaders = await Helix.getCheermotes(id);

Other

Update Stream

Attention: access_token is required

Update broadcast information

const response = await Helix.updateStream(id, title, game);
ParamTypeRequiredDescription
idNumbertrueUser ID
titleStringtrueStream title
gameStringtrueGame on the stream

Create Clip

Creating 15 seconds length clip

const clip = await Helix.createClip(id, has_delay?);
ParamTypeRequiredDescription
idNumbertrueUser ID
has_delayBooleanfalseIf false, the clip is captured from the live stream when the API is called; otherwise, a delay is added before the clip is captured (to account for the brief delay between the broadcaster’s stream and the viewer’s experience of that stream).

Start Commercial

Starts a commercial on a specified channel

const commercial = await Helix.startCommercial(id, length?);
ParamTypeRequiredDescription
idNumbertrueUser ID
lengthNumberfalseDesired length of the commercial in seconds. Valid options are 30, 60, 90, 120, 150, 180

Create Stream Marker

Creating stream marker with description

const marker = await Helix.createMarker(id, description?);
ParamTypeRequiredDescription
idNumbertrueUser ID
descriptionStringfalseMarker description (can be empty)

Get Stream Markers

Return an array with markers of specified VOD

const markers = await Helix.getMarkers(id, video_id?);
ParamTypeRequiredDescription
idNumbertrueUser ID
video_idStringfalseID 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}`);
});
ParamTypeRequiredDescription
bot_nameStringtrueThe name of the channel for the bot (you can specify your account nickname)
ouath_tokenStringtrueOAuth Token that you receive
user_nameStringtrueThe 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

Keywords

FAQs

Package last updated on 26 Jul 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc