11#Streen [ ![ Build Status] ( https://travis-ci.org/SupportClass/streen.svg?branch=master )] ( https://travis-ci.org/SupportClass/streen ) [ ![ Coverage Status] ( https://coveralls.io/repos/github/SupportClass/streen/badge.svg?branch=master )] ( https://coveralls.io/github/SupportClass/streen?branch=master )
22Streen is a centralized interface for interacting with Twitch Chat. It is essentially a wrapper for
3- [ twitch-irc] ( https://github.com/twitch-irc/twitch-irc ) , and it operates via IPC .
3+ [ twitch-irc] ( https://github.com/twitch-irc/twitch-irc ) , and it operates via Socket.IO websockets .
44
55Streen is useful in situations where multiple processes all need to connect to Twitch Chat,
6- but the overhead of spinning up multiple IRC bots is not acceptable. Streen operates as a single bot and exposes
7- an evented IPC interface via [ axon ] ( https://github.com/tj/axon ) .
6+ but the overhead of spinning up multiple and managing multiple IRC bots is not acceptable.
7+ Streen operates as a single bot and exposes a websocket API .
88
99## Installation
1010- Clone the repository
1111- From the directory you cloned Streen into, run ` npm install --production `
12- - Create ` ./config.json ` with the desired Twitch ` username ` and ` password ` . Optionally, add a
13- [ ` slack.botToken ` ] ( https://my.slack.com/services/new/bot ) and ` slack.statusChannel `
12+ - Create ` ./config.json ` with the desired ` twitch.username ` , ` twitch.password ` , and ` secretKey ` .
13+ The ` secretKey ` is a pre-shared key that all clients must provide in order to use the websocket API.
14+ - Optionally, add a [ ` slack.botToken ` ] ( https://my.slack.com/services/new/bot ) and ` slack.statusChannel `
1415to have Streen post critical status updates and respond to commands.
1516[ (Need an avatar for your bot?)] ( http://i.imgur.com/7LNvGeK.jpg )
1617``` json
@@ -23,7 +24,10 @@ to have Streen post critical status updates and respond to commands.
2324 "slack" : {
2425 "botToken" : " xoxb-xxxxxxxxxx-yyyyyyyyyy" ,
2526 "statusChannel" : " #somechannel"
26- }
27+ },
28+ "port" : 8232 ,
29+ "logLevel" : " info" ,
30+ "secretKey" : " xxxxx"
2731}
2832```
2933- Run with ` node server.js `
@@ -33,11 +37,11 @@ See [lfg-siphon](https://github.com/SupportClass/lfg-siphon) for an example impl
3337
3438## Slack Commands
3539### !channels
36- Lists the current Twitch chat channels that Streen is listening to.
40+ Lists the current Twitch chat channels that Streen is listening to.
3741![ channels command example] ( https://i.imgur.com/072ECjo.png )
3842
3943### !online
40- Lists the online status of each Twitch stream that Streen is listening to.
44+ Lists the online status of each Twitch stream that Streen is listening to.
4145![ online command example] ( https://i.imgur.com/TMiOISh.png )
4246
4347### License
0 commit comments