Skip to content

Instantly share code, notes, and snippets.

@mostlyfine
Created May 6, 2015 13:50
Show Gist options
  • Select an option

  • Save mostlyfine/8ea7f04164d35c02d17c to your computer and use it in GitHub Desktop.

Select an option

Save mostlyfine/8ea7f04164d35c02d17c to your computer and use it in GitHub Desktop.
twitter = require('twitter')
twit = new twitter({
consumer_key: process.env.TWITTER_CONSUMER_KEY,
consumer_secret: process.env.TWITTER_CONSUMER_SECRET,
access_token_key: process.env.TWITTER_ACCESS_TOKEN_KEY,
access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET,
})
server = require('http').createServer (req, res) ->
res.writeHead 200, {'Content-type': 'text/html'}
res.end require('fs').readFileSync('index.html')
.listen(process.env.PORT || 3000)
io = require('socket.io').listen(server)
io.sockets.on 'connection', (socket) ->
socket.on 'keyword post', (keyword) ->
console.log "keyword: #{keyword}"
twit.stream 'statuses/filter', {track: keyword}, (stream) ->
console.log 'stream start'
stream.on 'data', (data) -> io.sockets.emit 'message', data
stream.on 'end', (res) -> console.log 'disconnected'
stream.on 'destroy', (res) -> console.log 'destroyed'
stream.on 'error', (err) -> console.log err
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment