๐Ÿ“ฆ darrachequesne / socket.io-tweet-stream

๐Ÿ“„ index.js ยท 31 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const Twitter = require('node-tweet-stream');
const twitter = new Twitter({
  consumer_key: process.env.TWITTER_CONSUMER_KEY,
  consumer_secret: process.env.TWITTER_CONSUMER_SECRET,
  token: process.env.TWITTER_TOKEN,
  token_secret: process.env.TWITTER_TOKEN_SECRET
});

const io = require('socket.io')(process.env.PORT || 3000);

twitter.track('socket.io');
twitter.track('javascript');

let tweets = [];
const MAX_TWEETS = 10;

io.on('connect', socket => {
  socket.emit('buffer', tweets);
});

twitter.on('tweet', tweet => {
  io.emit('tweet', tweet);
  tweets.unshift(tweet);
  tweets = tweets.slice(0, MAX_TWEETS);
});

twitter.on('error', err => {
  console.error(err);
});