アイコンを変えてみる(Ruby bot)

「アイコンを変えてみる(Ruby bot)」の編集履歴(バックアップ)一覧に戻る

アイコンを変えてみる(Ruby bot) - (2011/07/04 (月) 00:39:14) のソース

Ruby Twitter Gemでアイコンを変える方法。これは[[まちかねこ調査隊のアカウント>http://www.twitter.com/s_machikaneko]]用。これをcronで1週間ごとくらいに実行して行く予定。[[http://raixak07.ddo.jp/blog/?p=97]] を参考にした。XMLの扱い方も少し分かった。同じフォルダに001.jpgとかがあり、icons.xmlがある。icons.xmlの中身は一番下に。XMLにもう少し要素を増やしてtweetにもう少し情報を入れたい。

#highlight(ruby,linenumber){{#! /usr/bin/ruby
# encoding: utf-8
 
require "time"
require "rubygems"
require 'twitter'
require 'rexml/document'
 
# ログイン
Twitter.configure do |config|
  config.consumer_key = 'MqGPVPYi9ZKDHn56rD6SYA'
  config.consumer_secret = 'Happg2UG5kr5mVu0pxvXiuXe7UBdnKEszkjfZa3c01g'
  config.oauth_token = '297434585-YsKPDATcP21fFT4Z0eiz3uqSfTMQYbA8iDz2uUih'
  config.oauth_token_secret = 'CZandAwkykcaUiReFcUumKuzO6gFwtRGfvyntPKSt9o'
end 

path = "/home/oka/Dropbox/Ruby/Twitter/s_machikaneko/"

#http://raixak07.ddo.jp/blog/?p=97
xmldoc = REXML::Document.new(File.open("#{path}icons.xml"))

count = 1 #なんか初期化しとかないとうまくいかない。

xmldoc.elements.each("Icons") do |element|
  count = element.elements.size
end

num = rand( count ) + 1

con = "Icons/Icon[" << num.to_s << "]"

xmldoc.elements.each(con) do |element|
Twitter.update_profile_image(File.new("#{path}#{element.text}.jpg"))
Twitter.update("今日のアイコンはこのまちかねこです! http://photozou.jp/photo/tagged/1678930/#{element.text}")
end}}

icons.xmlの中身
#highlight(xml,linenumber){{<Icons>
  <Icon>001</Icon>
  <Icon>002</Icon>
  <Icon>003</Icon>
  <Icon>004</Icon>
  <Icon>005</Icon>
  <Icon>006</Icon>
  <Icon>007</Icon>
  <Icon>008</Icon>
  <Icon>009</Icon>
  <Icon>010</Icon>
  <Icon>011</Icon>
  <Icon>012</Icon>
  <Icon>013</Icon>
  <Icon>014</Icon>
  <Icon>015</Icon>
  <Icon>016</Icon>
  <Icon>017</Icon>
  <Icon>018</Icon>
  <Icon>019</Icon>
  <Icon>020</Icon>
  <Icon>021</Icon>
  <Icon>022</Icon>
  <Icon>023</Icon>
  <Icon>024</Icon>
  <Icon>025</Icon>
  <Icon>026</Icon>
  <Icon>027</Icon>
  <Icon>028</Icon>
</Icons>}}

**コメント
#comment_num2()