rubygems の twitter を使ったクライアントスクリプト ( プロキシ対応 )

お知らせ

twitterbasic認証を受け付けなくなったため、以下のスクリプトは動かなくなりました。
新しいスクリプトは以下です。




http://twitter.rubyforge.org/ を使用したクライアントスクリプトを作ってみました。
プロキシ越しにアクセスする方法を調べるのに少々時間がかかったので、公開しときます。

#!/usr/local/bin/ruby

require 'rubygems'
require 'twitter'
require 'time'

USERNAME = 'username'
PASSWORD = 'password'

PROXY_ADDR = nil
PROXY_PORT = nil

def request( base, getting_replies )
  if getting_replies then
    return base.replies
  end
  return base.friends_timeline
end

Twitter::HTTPAuth.http_proxy( PROXY_ADDR, PROXY_PORT )
base = Twitter::Base.new( Twitter::HTTPAuth.new( USERNAME, PASSWORD ) )

getting_replies = nil
if ARGV[ 0 ] == '-r' then
  getting_replies = true
  ARGV.shift
end

if ARGV.size > 0 then
  base.update( ARGV.join( ' ' ) )
end

request( base, getting_replies ).reverse.each do |s|
  puts "#{s.user.screen_name} : #{s.text} [ #{Time.parse(s.created_at).strftime( '%Y/%m/%d %H:%M' )}]"
end

firends の TL 取得 :

% main.rb

mentions の取得 :

% main.rb -r

書き込み :

% main.rb message

プロキシ越しにアクセスする場合は

Twitter::HTTPAuth.http_proxy( PROXY_ADDR, PROXY_PORT )

のメソッドでプロキシの設定を行うので

  PROXY_ADDR = nil
  PROXY_PORT = nil

をそれぞれ、環境に合わせたものを設定すれば OK 。
nil ならばプロキシを使わないでアクセスする。