App-Nopaste-Service-Perlbot
view release on metacpan or search on metacpan
lib/App/Nopaste/Service/Perlbot.pm view on Meta::CPAN
my ($self, %arg) = @_;
my $ua = LWP::UserAgent->new;
if ($arg{chan} eq 'list') {
my $res = $ua->get( 'https://perl.bot/api/v2/channels');
unless ($res->is_success) {
return (0, "Failed to get channels, try again later.\n");
}
my $response = decode_json $res->decoded_content;
my $output="Channels supported by perl.bot, all values subject to change.\n-----------------------------------\n";
for my $channel (@{$response->{channels}}) {
$output .= sprintf "%15s %20s\n", $channel->{name}, $channel->{description};
}
return (1, $output);
} else {
my $res = $ua->post("https://perl.bot/api/v2/paste", {
paste => $arg{text},
description => $arg{desc} || 'I broke this',
username => $arg{nick} || 'Anonymous',
$arg{chan} ? (chan => $arg{chan}) : (),
language => $arg{lang} || 'text'
});
if ($res->is_success()) {
my $content = $res->decoded_content;
my $data = decode_json $content;
return (1, $data->{url});
} else {
return (0, "Paste failed");
}
}
}
1;
( run in 0.265 second using v1.01-cache-2.11-cpan-26ccb49234f )