This module is a implementation of New Twitch API https://dev.twitch.tv/docs/api/reference
npm install twitch-streamer

#### This module is a implementation of New Twitch API https://dev.twitch.tv/docs/api/reference
You need nodejs version > 6x because this module was made with ES6.
```
node --version
to your package.json:
`
npm install twitch-streamer --save
`Usage:
`js
let twitchApi = require('twitch-streamer');
`Give the credentials of the youtube to the constructor
| Params | Description | Optional |
| -------- |:---------------| :-----:|
| ClientId | The Client Id | false |
| ClientSecret | The Client Secret | false |
| RedirectUrl | The RedirectUrl with format 'http://yourdomain/youraction' | false |
| Scopes | They are 3 scopes: user:edit user:read:email chat_login | false |
| UserLogin | The name of your user login | false |
| AccessToken | The access token if you have one | true |
`js
let twitch = new twitchApi('clientId', 'clientSecret', 'http://yourdomain/youraction', 'user:edit+user:read:email+chat_login', 'channelName');
`$3
To authenticate with OAuth you will call authorizationUrl and will return an URL, you will make a request with a browser and authorizate in OAuth. After that you will be redirect to RedirectUrl and you will get a code on QueryString ?code='hjqweassxzass'`js
let urlAuthorization = twitch.authorizationUrl();
`$3
For generate an access token and refresh token you have to call connect with the code you got on QueryString| Params | Description | Optional |
| -------- |:---------------| :-----:|
| Code | The code you got in the querystring | false |
`js
twitch.connect(code);
`$3
If you need refresh the access token, you have to call reconnect and send the refreshToken| Params | Description | Optional |
| -------- |:---------------| :-----:|
| RefreshToken | The refresh token you got in credentials | false |
`js
twitch.reconnect(refreshToken);
`$3
For get your stream information you have to call getStream`js
twitch.getStream();
`$3
For get message chat you have to call first to connectChat and then call chat`js
twitch.connectChat();
twitch.chat(callback);
`$3
If you need to save credentials, you have to call getCredentials and you will get an object`js
{
accessToken,
refreshToken,
userId
}
`$3
If you add then to call you will take the success of response and if you add catch you will take the error of response.
`js
twitch.getStream()
.then((res) => console.log(res)))
.catch((err) => console.log(err)))
`Test Integration:
You can test the module with your productive credentials.
First change the clientId and clientSecret in tests/integration.js with yours credentials, open a console and run npm start, open browser and type http://localhost:8080/$3
- http://localhost:8080/ return the url of authorization, copy and paste into the url of the browser
- http://localhost:8080/getStream return information of your stream
- http://localhost:8080/credentials get credentials
- http://localhost:8080/reconnect` refresh access token