Install: npm install --save twitchonlinetracker
Get a Client ID. See Step 1 of the Twitch API Introduction on how to do this.
const { TwitchOnlineTracker } = require('twitchonlinetracker')
const tracker = new TwitchOnlineTracker({
client_id: "your twitch app client id", // used for api requests
track: ['channel1', 'channel2'], // all the channels you want to track
pollInterval: 30, // how often in between polls in seconds. default 30
debug: true, // whether to debug to console
start: true // whether to start immediately. if you don't use this, you must call .start() later
})
// Listen to live event, it returns StreamData
tracker.on('live', streamData => {
console.log(`${streamData.user_name} just went live!`)
})
// Make sure you listen for errors
tracker.on('error', error => console.error)
NOTE: If you don't pass start: true
in the options, you must call tracker.start()
to start polling.
const tracker = new TwitchOnlineTracker(options: TwitchOnlineTrackerOptions)
Create a new TwitchOnlineTracker
instance. It takes a TwitchOnlineTrackerOptions interface:
client_id
string required Your Twitch app's client idtrack
string[] An array of the channels you wish to track on startuppollInterval
number The amount of time in seconds between pollsdebug
boolean If true, output debug information to consolestart
boolean If true, start polling immediately
Starts polling the Twitch API for stream changes.
Stops polling the Twitch API for stream changes.
Adds more streams to track. usernamesToTrack
expects an array of strings.
Stops tracking streams. usernamesToTrack
expects an array of strings.
tracker.on('live', function (streamData: StreamData) { })
When a stream is found to be live, fires this event. The callback function provides a StreamData parameter.
Example:
tracker.on('live', function (streamData) {
console.log(`${streamData.user_name} has started streaming with the title ${streamData.title} at https://twitch.tv/${streamData.user_name} for ${streamData.viewer_count} viewers!`)
})
When a stream is found to have gone offline, fires this event. The callback function provides a string.
Example:
tracker.on('offline', function (channel) {
console.log(`${channel} has gone offline.`)
})
Fires this event on error. Make sure you capture this event.
Example:
tracker.on('error', function (error) {
throw Error(error)
})