LoginSignup
17
16

More than 5 years have passed since last update.

キルミーベイベーTwitterアイコン自動登録スクリプト

Last updated at Posted at 2014-09-12

なにこれ

キルミーベイベー限りなく公式HPに近いサイト内で配布された686枚のツイッターアイコンをランダムにプロフィール画像に登録させるRubyスクリプトです。
アイコンはここで配布されています。
※追記しました(2014/09/18)

バージョン

ruby 2.1.1
Twitter 5.11.0

中身

ソースコードです

killme.rb
# -*- coding: utf-8 -*-
require "twitter"

CONSUMER_KEY = "あなたのCONSUMER_KEY"
CONSUMER_SECRET = "あなたのCONSUMER_SECRET"
OAUTH_TOKEN = "あなたのOAUTH_TOKEN"
OAUTH_TOKEN_SECRET = "あなたのOAUTH_TOKEN_SECRET"

def killme_icon
  num1 = rand(12) + 1
  num2 = rand(145) + 1

  icon = "%02d" % num1.to_s + '_' + "%03d" % num2.to_s + '.png'

  puts icon # デバッグ用
  if true == File.exist?(icon)
    icon
  else
    killme_icon
  end
end

begin
  killme_twitter = Twitter::REST::Client.new do |cnf|
    cnf.consumer_key = CONSUMER_KEY
    cnf.consumer_secret = CONSUMER_SECRET
    cnf.access_token = OAUTH_TOKEN
    cnf.access_token_secret = OAUTH_TOKEN_SECRET
  end

  killme_twitter.update_profile_image(File.open(killme_icon))

rescue => e
  STDERR.puts "[EXCEPTION] " + e.to_s
  exit 1
end

Gistはここ(更新してます。詳しくは追記参照)

CONSUMER_KEYとかは自分で設定してください。参考サイト(http://ramtiga.hatenablog.jp/entry/20110409/p1
あと、 アイコン画像は直下 に置いてください。ディレクトリで分けたいという人は各自がんばってください(丸投げ)。
アイコン画像のファイル名はDL時のままで大丈夫です。リネーム不要。

動作

killme_iconメソッドでアイコン画像を指定。 見つかるまで再帰します のでご注意を
.update_profile_imageで指定したアイコン画像にプロフィール更新
以上です

今後の展望

  • 1日に1回プロフィール更新できるようにしたい(cronとか…?)
  • WEBアプリケーション化(Rails + Heroku)
  • プロフィール更新時に確認をする([y/n])←実装しました(2014/09/18)

追記(2014/09/18)

URL指定でプロフィール更新できるようになりました(ejo090さんありがとうございます)
新しく、 nokogiriopen-uri のライブラリを使用しています。持っていない場合は gem install をお願いします。
Gistのソースコードを更新しましたのでそちらを参照して下さい。
あとは、プロフィール更新するときに確認するようにしたのと、プロフィール更新時に自動的に呟くようにしたぐらいです。

お知らせ

WEBサービスとして公開したので良かったら使ってください
http://killme-twitter.herokuapp.com

17
16
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
16