PerlでTwitterの自画像アイコンを分に応じて回転させる
(2010-6-29 15:01追記)
Net::Twitter 3.12以降だと画像アップロードルーチンをこっちに差し替えた方がいいです。M.C.P.C.: Net::Twitterで自画像Uploadは3.12あたりでできるように直っているようだ)
飲み会用のネタ。cronに仕込んでね。あまりやりすぎると、TwitterからBANされるかも……
#!/usr/bin/perl
use strict;
use warnings;
use Config::Pit;
use Image::Magick;
use WWW::Mechanize;
my $p = pit_get( 'twitter.com@CLCLCL' );
die "not preset account data in Pit." if !%$p;
my $username = $p->{username};
my $password = $p->{password};
my $file = 'cl.png';
my $im = Image::Magick->new;
$im->Read($file);
my ( $x, $y ) = $im->Get( 'width', 'height' );
$im->Set(bordercolor=>'#FFFFFF');
my $deg = (localtime(time))[1] / 60 * 360;
$im->Rotate(degrees => $deg, crop => 0, sharpen => 1);
my ( $nx, $ny ) = $im->Get( 'width', 'height' );
$im->Crop(width => $x, height => $y,
x => ($nx - $x) / 2, y => ($ny - $y) / 2, );
my $tmpfile = time.".png";
$im->write("png:$tmpfile");
my $mech = WWW::Mechanize->new();
$mech->agent_alias( 'Windows IE 6' );
my $res = $mech->get('https://twitter.com/settings/profile');
die if $mech->uri() ne 'https://twitter.com/login';
$mech->submit_form(
form_number => 2,
fields => {
'session[username_or_email]' => $username,
'session[password]' => $password,
},
button => 'commit',
);
$mech->submit_form(
form_number => 2,
fields => {'profile_image[uploaded_data]' => $tmpfile, }
);
unlink $tmpfile;
exit;
__END__
Twitterクライアント側でアイコンキャッシュしていることも多いからあんまり意味ないかも。あと、cronに入れた場合はカレントディレクトリに注意。
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19018/47736168
この記事へのトラックバック一覧です: PerlでTwitterの自画像アイコンを分に応じて回転させる:
» Net::Twitterで自画像Uploadは3.12あたりでできるように直っているようだ
from M.C.P.C.
2010年2月あたりに使っていたNet::Twitterじゃ、自画像Uploadができず、 M.C.P.C.: PerlのWWW::Mechanizeを使って2010年3月現在のTwitterで自画像をアップロード というのを書いた。しかし、実際に使ってみると、Twitterが重い時間帯だと、更新に失敗することがある。SSLで接続するとタイムアウトしたりする。まあなあ。 んで、最近Net::Twitterを更新したら3.12になっていて、画像アップロードのメソッドがちゃんと動くようになった。 my ... 続きを読む
受信: 2010/06/29 15:04:32






![森田 創: WEB+DB PRESS 総集編 [Vol.1~60]](http://ecx.images-amazon.com/images/I/51aE58LxWlL._SL75_.jpg)
















![: 電子ルーペ ViewPe[ビューペ] 3R-MSV35 マイクロスコープ デジタル顕微鏡 高機能 低価格 読書 植物 研究 肌チェック](http://ecx.images-amazon.com/images/I/41erkiQgAsL._SL75_.jpg)





![: Optimus bright [docomo L-07C] 対応 予備バッテリー 1500mAh BL-44JN](http://ecx.images-amazon.com/images/I/41gjqsDjq%2BL._SL75_.jpg)










![: パンツの穴 [DVD]](http://ecx.images-amazon.com/images/I/21R9SEY1HPL._SL75_.jpg)

















