カラクリサイクル

『輝かしい青春』なんて失かった人の雑記

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 さっき気づいたけど、どうも日本語がうまく投稿できてない。

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