カラクリスタ

「輝かしい青春」なんて失かった人のブログ

Plagger使ってLastFMの最近聴いた音楽をTwitterに投稿する

概要: LastFM2Twitter


最近聴いた音楽を Twitter に投稿したい!それ Pla!と言うことで Plagger でやってみた。

必要なプラグインは、

  • Subscription::Config
  • Filter::Rule
  • Publish::Twitter

の三つ。で、Publish::Twitter に関しては少し改造していて、 サブルーチンpublish_entry

sub publish_entry {
my($self, $context, $args) = @_;
my $body = 'NowPlaying - ' . $args->{'entry'}->title . ' .';
$context->log(info => "Updating Twitter status to '$body');
$self->{twitter}->update($body);
}

のように変更、モジュール名を Plagger::Plugin::Publish::TwitterFM としてる。

で、設定は、

LastFM2Twitter.yaml

plugins:
- module: Subscription::Config
config:
feed:
- url: http://ws.audioscrobbler.com/1.0/user/nyarla-net/recenttracks.rss
- module: Filter::Rule
rule:
- module: RecentN
count: 1
- module: Publish::TwitterFM
config:
username: Twitter-UserName
password: Twitter-Password

こんな感じ。global については省略。購読する Feed に関しては、 LastFM -> Tool -> データ・フィードの最近聴いたトラックの RSS フィードを使用。 Filter::Rule で最初の 1 エントリしてるのが多分ポイント。 Publish::Twitter 改造してるので若干邪道のような気がする。

曲が変わるたびに Plagger 動かそうかとも考えたんだけど、ちょっと鬱陶しそうなので、 それはやめた。

diff とれとか言われそう。でもやり方がよく分かってない。

追記:2007-04-07T16:39:00+09:00 さっき気づいたけど、どうも日本語がうまく投稿できてない。

なんでなんだろ。ちょっと調べてみる。

FIXME