Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

なにこれ

キルミーベイベー限りなく公式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

mizukmb
投稿した記事は古い内容のままアップデートされてないものも含まれていますので、参照する際はご注意ください。
https://mizukmb.net
misoca
クラウド請求管理サービス「Misoca」を開発する、Misoca開発チームです。
https://www.misoca.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away