lwink

Lwink is a Twitter unique link tracker, expander and emitter

lwink

Polls the Twitter search API for tweets with links. Expands them with HEAD and replaces tiny urls in the tweet.text with the expanded ones. Saves the links to a storage engine or in memory so that it never emits the same link twice. Only unique content!

npm install lwink
require('lwink')('node.js OR nodejs').runInterval(10000, function(links) {
  console.log(Object.keys(links))
})
 

Also see examples/

var Lwink = require('lwink')
 
var lwink = Lwink('node.js OR nodejs')
 
// event emitter pattern 
 
lwink.on('tweets', function(tweets) {
  // array of tweets 
})
 
lwink.on('links', function(links) {
  // hash of links as keys - values as tweets 
})
 
// running the search 
lwink.run()
 
// or with a callback if you don't want to use 
// the evented method 
lwink.run(function(linkstweets) {
  // links hash and tweets array, use any 
})
 
// perhaps run in an interval? 
lwink.runInterval(ms)
 
// or 
lwink.runInterval(ms, callback) // like above 
 
// stop the damn thing 
lwink.stop()
 
// options: 
 
var lwink = Lwink('node.js OR nodejs', {
  store: storeEngine    // store engine to use. Only .get and .set are required 
                        // so you can use almost any key value store 
                        // defaults to an internal memory store 
                        
, translate: 'en'       // translate tweets using google api (here: english) 
                        // default: no translation 
                        
, decodeEntities: true  // decode tweet html entities (requires module 'ent') 
                        // default: false 
                        
, skipFirst: false      // skip first search (useful when you don't want to 
                        // spam a feed on init) 
})
 

MIT licenced