Notify::XMPP
- 最新版はこのへんにあるす。
プロトタイプ以前のシロモノ。
だけど、jabber.jp経由でjabber.jpとかgmail.comに送れたので晒してみる。
package Plagger::Plugin::Notify::XMPP; our $VERSION = '0.01'; use strict; use warnings; use base qw( Plagger::Plugin ); use Net::XMPP; sub register { my($self, $context) = @_; $context->register_hook( $self, 'publish.entry' => \¬ify, ); } sub notify { my($self, $context, $args) = @_; my $xmpp = Net::XMPP::Client->new(debuglevel=>0); my $server_host = $self->conf->{server_host} || 'localhost'; my $server_port = $self->conf->{server_port} || '5222'; my $tls = $self->conf->{tls} || 0; my $username = $self->conf->{username} || die "fixme"; my $password = $self->conf->{password} || die "fixme"; my $to = $self->conf->{to} || die "fixme"; my $on_auth = sub { $xmpp->MessageSend( to => $to, subject => $args->{entry}->title_text, body => $args->{entry}->title_text."\n".$args->{entry}->body_text, ); $xmpp->Disconnect(); }; $xmpp->Connect( hostname => $server_host, port => $server_port, tls => $tls, ); $xmpp->SetCallBacks(onauth => $on_auth); $xmpp->Execute( hostname => $server_host, port => $server_port, tls => $tls, username => $username, password => $password, ); } 1;