nDiki : 2008年03月13日

2008年3月13日 (木)

TwitterアイコンPerl スクリプトで更新する

API 経由では Twitterアイコンを変更できなさそうなので、WWW::Mechanizeアイコン画像をアップロードする Perl スクリプトを書いてみた。

 #!/usr/bin/perl

 use strict;
 use warnings;
 use WWW::Mechanize;

 die "no file name" if @ARGV == 0;
 my $file_name = $ARGV[0];

 my $name     = 'ユーザ名';
 my $password = 'パスワード';

 my $mechanize = WWW::Mechanize->new();
 $mechanize->get('http://twitter.com/');
 die unless $mechanize->success;
 $mechanize->submit_form(form_number => 1,
                         fields      => {
                                    username_or_email => $name,
                                    password          => $password});
 die unless $mechanize->success;
 $mechanize->follow_link(text => 'Settings');
 die unless $mechanize->success;
 $mechanize->follow_link(text => 'Picture');
 die unless $mechanize->success;
 $mechanize->submit_form(
                      form_number => 1,
                      fields => {'profile_image[uploaded_data]' => $file_name}
 );
 die unless $mechanize->success;
スポンサード リンク

Skype のアバタを WSH 上の JScript スクリプトで変更する

まず Windows XP BOX に、Skype4COM 1.0.28.2 を入れる。 Skype4COM-1.0.28.2.zip をとってきて展開し、アーカイブの中の DLL を登録する。

 regsvr32 Skype4COM.dll

次に以下のスクリプトを書いて、例えば setskypeavatar.js というファイルに保存する。

 skype = WScript.CreateObject("Skype4COM.Skype");
 skype.Settings.LoadAvatarFromFile("C:\avatar.png");

で、Skype を実行してログインしている状態でコマンドプロンプトから

 start setskypeavatar.js

で実行する(あるいはエクスプローラ上から実行する)。Skype 側が「他のプログラムが Skype にアクセスしようとしています」というダイアログを表示するので連携を許可してあげると、アバタが avatar.png の画像に変更される。

細かい点気にしなけば簡単。

なお今回のように単純に Windows Script Host から API 接続すると、WScript.exe に対しての許可を与えなければならないので、その点は注意が必要。

ちなみに Skype for Linux では API にある「SET AVATAR」コマンドがまだ使えないので、同様のことが実現できなかった。

Flickr写真を自動的に Twitter アイコンにする

2週間ほど前にtwitterfeed で Flickr に写真をアップロードしたら自動的に Twitter にタイトルと URL をポストするようにしたのだが、これだと写ツみたいに画像そのものはポストされず今一歩なので、写真自体を自動的に Twitter アイコンアップロードするようにしてみた。

流れは以下:

  1. cron で定期的に FlickrRSS フィードをフェッチする (URI::Fetch + XML::RSS)。
  2. 新しい写真アップロードされていたら(最新の写真が変化していたら)、RSS フィード中のサムネイル画像 URL を抜き出して画像をダウンロードする (URI::Fetch)。
  3. 正方形に crop。それからころころ Twitter アイコンを変えると誰だかわからなくなるので、決まった画像 (今のところ自分の写真)を重ねる (ImageMagick / PerlMagick)。
  4. Twitterアップロードする(アップロードスクリプト)。

例えば今日 VQ1005 で撮影して Flickrアップロードした写真を自動的に加工させたものがコレ。

image:nDiki/2008/03/Twitter-icon-2008-03-13.jpg

なんか偽中継のような嘘臭さがあるけれど、まあだいたいアップロードした写真は自分が実際にその場にいたのだから、あながちでもないんじゃないか。

[ 3月13日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.190312s / load averages: 0.34, 0.89, 0.71
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker