twitter-stream-channels
Version:
Manage multiple filters on the same Twitter stream
96 lines (77 loc) • 2.17 kB
JavaScript
//example of using streams, using directly the twit library (via getApiClient)
//this time stopping and restarting the stream
var TwitterStreamChannels = require('../../main');
var credentials = require('../../twitter.credentials.json');
var client = new TwitterStreamChannels(credentials);
var connected = false;
var stream = client.getApiClient().stream('statuses/filter', {
track: [
'blue',
'white',
'yellow',
'green',
'orange',
'kiwi',
'apple',
'lemon',
'coconut',
'Luke',
'Leia',
'Han',
'Yoda'
]});
stream.on('connect', function() {
console.log('> attempting to connect to twitter');
});
stream.on('connected', function() {
if(connected === false){
console.log('> twitter emit : connected');
connected = true;
}
});
stream.on('disconnect', function() {
console.log('> twitter emit : disconnect');
connected = false;
});
stream.on('tweet', function(tweet) {
console.log(tweet.text);
});
stream.on('reconnect', function (request, response, connectInterval) {
console.log('> waiting to reconnect in '+connectInterval+'ms');
});
setTimeout(function() {
stream.stop();
console.log('> stopped stream');
}, 3000);
setTimeout(function() {
console.log('>> restarting stream for 5 seconds');
stream.start();
}, 8000);
setTimeout(function() {
console.log('>> stopped stream after 5 seconds');
stream.stop();
}, 13000);
setTimeout(function() {
stream = client.getApiClient().stream('statuses/filter', {track: ['javascript']});
stream.on('connect', function() {
console.log('>>> attempting to connect to twitter');
});
stream.on('connected', function() {
console.log('>>> twitter emit : connected');
});
stream.on('disconnect', function() {
console.log('>>> twitter emit : disconnect');
process.exit();
});
stream.on('tweet', function(tweet) {
console.log(tweet);
});
stream.on('reconnect', function (request, response, connectInterval) {
console.log('>>> waiting to reconnect in '+connectInterval+'ms');
});
}, 18000);
setTimeout(function() {
stream.stop();
console.log('>>> stopped stream');
process.exit();
}, 33000);