Plagger::Plugin::Notify::YahooMessenger
Plagger::Plugin::Notify::YahooMessenger。
Yahoo! Messenger で 更新を通知。
もうあるのかな??(Net::YahooMessengerのメンテナ miyagawa さんだし・・・)
見当たらなかったので一応。
(あったらすんません。)
package Plagger::Plugin::Notify::YahooMessenger; use strict; use warnings; use base qw(Plagger::Plugin); use Net::YahooMessenger; sub register { my ($self, $context) = @_; $context->register_hook( $self, 'publish.feed' => \&update, ); } sub update { my ($self, $context, $args) = @_; my %param = ( id => $self->conf->{id}, password => $self->conf->{password}, ); $param{pre_login_url} = $self->conf->{pre_login_url} if exists $self->conf->{pre_login_url}; $param{hostname} = $self->conf->{hostname} if exists $self->conf->{hostname}; my $yahoo = Net::YahooMessenger->new(%param); $context->log(info => "Logging in to Yahoo! Messenger"); my $ret = $yahoo->login; unless ($ret) { $context->log(error => "Can't login Yahoo! Messenger"); return; } my $body = $self->templatize($context, $args->{feed}); $context->log(debug => $body); for my $line (split("\n", $body)) { $yahoo->send($self->conf->{recipient_id}, $line); } } sub templatize { my ($self, $context, $feed) = @_; my $tt = $context->template(); $tt->process('yahoo_messenger_notify.tt', { feed => $feed, }, \my $out) or $context->error($tt->error); $out; } 1; __END__ =head1 NAME Plagger::Plugin::Notify::YahooMessenger - Notify feed updates to Yahoo! Messenger =head1 SYNOPSIS - module: Notify::YahooMessenger config: id: your_yahoo_id password: foobar pre_login_url: http://edit.my.yahoo.co.jp/config/ hostname: cs.yahoo.co.jp recipient_id: your_another_yahoo_id =head1 DESCRIPTION This plugin notifies feed updates to Yahoo! Messenger =head1 AUTHOR Jiro Nishiguchi =head1 SEE ALSO L<Plagger>, L<Net::YahooMessenger> =cut
コードは Notify::IRC からほぼコピペ。
config は
- module: Notify::YahooMessenger config: id: hoge password: hogehoge pre_login_url: http://edit.my.yahoo.co.jp/config/ hostname: cs.yahoo.co.jp recipient_id: hage
で assets/plugins/Notify-YahooMessenger/yahoo_messenger_notify.tt は irc_notify.tt をコピー。
結構うざいが、まぁまぁ使えるかも。
アカウント2つ必要なのがあれだけど。
他にも CPAN モジュールがあるメッセンジャー系は簡単につくれそう。
追記
なんとなく Pod 書いた。