Twitterお天気ボットの作り方まとめ
マッシュアップを利用したTwitterアプリ開発の話もあり、
ちょっと調べてみたらすごく簡単そうだったので、
天気情報を自動でつぶやくアプリを作ってみました。
Twitter APIはもちろん、
Rubyもマッシュアップも初めて、
という状態から出発しても、
数時間でできてしまうと思います。
以下に手順をまとめておきます。
1.Rubyをインストールする
インストールファイルをダウンロードして実行するだけ!
初心者のためのRubyインストールガイド
2.Twitter4Rをインストールする
3.ソースを書く
weather.rb
require('rubygems') gem('twitter4r', '>=0.X.X') # Twitter4R version require('twitter') require 'net/http' require 'rexml/document'; require 'kconv' # set twitter account account = { 'login' =>'xxx', 'password' =>'xxx', } # make twitter client client = Twitter::Client.new( :login => account['login'], :password => account['password'] ) # get rss and update req = Net::HTTP::Get.new('/forecast/rss/13/63.xml') Net::HTTP.start('weather.livedoor.com') do |http| res = http.request(req) doc = REXML::Document.new(res.body) doc.elements.each('rss/channel/item[2]/title') do |element| client.status(:post, element.text) puts element.text.tosjis end end
4.タスクスケジューラへ登録する
※下記はVistaでのやり方
-
- [管理ツール]からタスク スケジューラを起動
- 実行プログラムとして、"ruby.exe"を指定
- 引数に"weather.rb"のフルパスを指定
- 実行間隔(トリガ)を設定
- 作成したタスクを実行
5.完成
http://twitter.com/NewsTwitTest
※Twitterでは同じ内容の連続投稿はできない仕様になっているようです。
なので、このプログラムでは天気情報の内容が変わらない限り、
何度ボットがプログラム実行してもtwitterには反映されません。