Twitter Stream

Twitter devenant l'une de mes sources d'informations principale, je commence à trouver que les clients Twitter ne sont pas bien adaptés à mes besoins. Twitter permet de suivre des personnes ou robots, mais pas de suivre un sujet précis. Il existe la possibilité de suivre la timeline mondiale des tweets avec l'API Twitter Stream. J'ai réalisé un script Ruby de quelques lignes pour répondre à mon besoin.

Stream tweet Ruby

Pour réaliser ce script Ruby rien de plus simple, il vous faut installer 2 gems : tweetstream et colorize. Pour pouvoir afficher le mon caractère fantaisiste ▶ , il faut obligatoirement ajouter en début de script la ligne #encoding: utf-8.

#!/usr/bin/env ruby
# encoding: utf-8

require 'rubygems'
require 'tweetstream'
require 'colorize'


track =  ['envivio','node.js','#ruby','dockstar','#bordeaux']
TweetStream::Client.new('username','password').track( *track ) do |status|
	status.text.gsub!("\n", "")
	status.text.gsub!(/(\#\w+)/,'\1'.colorize(:green))
	print "[#{status.user.screen_name}]".ljust(20).colorize(:white), "▶".colorize(:red) ," #{status.text}\n"
end

Dans le tableau track, vous indiquez la liste des mots que le script Ruby suit en temps réel, indiquez votre nom d'utilisateur et votre mot de passe (visiblement TweetStream ne gère pas OAuth). J'ai mis en oeuvre la gem colorize pour mettre un peu de gaîté sur l'affichage !