An unofficial wrapper for the StreamElements API.
Official StreamElements API Documentation
Install the node-streamelements package from the NPM repository, using --save to update your package.json:
npm install node-streamelements --saveSome calls require few, specific options and are required method arguments. More complex calls, such as create or update operations require more detailed options. Reference the official documentation for type requirements and object structure.
Import the package, create a new instance using your Account ID and JWT Token (found in your account profile), and call methods which return promises.
const StreamElements = require('node-streamelements');
const myInstance = new StreamElements({
token: 'YourJWTToken',
accountId: 'YourAccountID'
});
// Get current song in queue.
myInstance
.getCurrentSong()
.then((response) => {
console.log(`Current song is ${response.title}.`);
})
.catch((error) => {
console.log(error);
});In the event the API sees a non-major version bump which introduces new functionality, you may call makeRequest() directly until a new node-streamelements package version is available.
Even though your current instance may be tied to a specific channel, you may optionally override the channel being requested upon by passing its ID into methods. For example:
myInstance
.getCurrentSong('CHANNELID')
.then((response) => {
console.log(`Current song is ${response.title}.`);
})
.catch((error) => {
console.log(error);
});NOTE: In order for this to work, you must be given Manager permissions for the target channel.
To contribute to the package, please follow the forking model:
- Fork the repository to your own account.
- Create a branch off
master. - Apply your changes and commit to your branch.
- Open a pull request against the central
developbranch.
Your pull request will be reviewed by Maintainers, feedback will be provided if necessary, and then merged. Please, do not bump the package version in your pull request.
This package was created to help reduce the amount of code manually written for each project wishing to work with the StreamElements API. In no way is this project officially endorsed, maintained, or approved by StreamElements.