Ruby Twitter Gemでボットを作ろう

Ruby Twitter Gemを使えば簡単に扱えます。

インストールのしかたは、

# gem install twitter

だけでOK。

とりあえず何かをpostするだけならこう。
あ、ファイルのエンコーディングは UTF-8 で御願いしますね。

#!/usr/bin/ruby

require 'rubygems'
gem 'twitter'
require 'twitter'

msg = "ひるぽっぽ★"
httpauth = Twitter::HTTPAuth.new( Twitter_ID , Twitter_PW  )
o_twit = Twitter::Base.new( httpauth )
o_twit.update( msg )

リプライの取得はこう。

#!/usr/bin/ruby

require 'rubygems'
gem 'twitter'
require 'twitter'

filehandle = open( "laststatus.txt" , "r")
laststatus = filehandle.gets.to_i
filehandle.close
lastnum = laststatus.to_i

httpauth = Twitter::HTTPAuth.new( Twitter_ID , Twitter_PW  )
o_twit = Twitter::Base.new( httpauth )
mentions = o_twit.mentions
mentions.each do |m|
  statid = m.id.to_i
  repl = m.user.screen_name
  if ( maxstatid < statid )
    maxstatid = statid
  end
  next if ( laststatus >= statid )   # 既に応答した人はスキップ
  n = m.text
  # n に対して処理して、nout でリプライを返す。
  nout = "@" + repl + " "
  nout <<  "(=゚ω゚)ノぃょぅ"
  o_twit.update( nout )
end

filehandle = File.open( "laststatus.txt" , "w")
filehandle.puts maxstatid
filehandle.close

mentions 等に返ってくるのは、APIから取得したデータが配列で入っています。
APIから返ってくるXMLフォーマットがわかっていれば、難しくないかなとは思います。
mentions[n].text で本文、
mentions[n].id がtweetのid、
mentions[n].user.screen_name が、発言者のスクリーンネーム。

One Response to “Ruby Twitter Gemでボットを作ろう”

  1. […] 前、botを作るところでとりあげました。 Ruby Twitter Gemでボットを作ろう « てっく★ゆきろぐ Rev2 基本的には、上記でやってることと変わりません。 […]