package App::MadEye::Plugin::Notify::IMKayac;
use strict;
use warnings;
use base qw/App::MadEye::Plugin::Base/;
use Params::Validate;
use MIME::Lite;
use DateTime;
use LWP::UserAgent;
use Digest::SHA1;
sub notify : Hook {
my ($self, $context, $args) = @_;
my $conf = $self->{config}->{config};
my $username = $conf->{username} or die "missing username";
while (my ($plugin, $results) = each %$args) {
$plugin =~ s/.+::Agent:://;
my $msg = "ME: $plugin: ";
for my $result (@$results) {
$msg .= "'$result->{target}': $result->{message} ";
}
my $params = {message => $msg};
if (my $secret_key = $conf->{secret_key}) {
$params->{sig} = sha1_hex($msg . $secret_key);
}
if (my $password = $conf->{password}) {
$params->{password} = $password;
}
my $ua = LWP::UserAgent->new(timeout => 5, agent => "MadEye/$App::MadEye::VERSION");
my $res = $ua->post("http://im.kayac.com/api/post/$username", $params);
$res->is_success or die $res->status_line;
}
}
1;